DBAPI如何使用内存缓存

背景

  • 在使用DBAPI创建API的时候,有时候SQL查询比较耗时,如果业务上对数据时效性要求不高,这种耗时的SQL可以使用缓存插件来将数据缓存起来,避免重复查询。

  • 一般来说,可以使用redis memcache等缓存服务来存储缓存数据。但是这就需要公司有团队去运维支撑缓存服务,这就增加了公司的运营成本。

  • DBAPI在设计上一直秉持着轻量化的设计原则,所以官方也提供了内存缓存插件,它直接使用DBAPI服务自身的内存来缓存数据,不需要额外的缓存服务。

使用方法

  • 将下载的压缩包解压,解压后的文件全部复制到DBAPI的lib目录下,重启DBAPI

  • 创建或者编辑API的时候,在全局插件标签下选择内存缓存插件即可。页面上不用填写插件参数,缓存会自动生效。

插件参数设置

缓存时间

  • 缓存时间默认是缓存1分钟

  • 如果要修改缓存时间,只能修改全局插件参数,在conf目录下的plugin.properties文件中添加如下配置(单位是分钟):

    memory.cache.expireAfterWrite=1

缓存空间大小

  • 因为缓存占用了DBAPI自身的内存空间,所以插件限制了缓存元素的最大数量,默认是1000

  • 如果要修改缓存空间大小,只能修改全局插件参数,在conf目录下的plugin.properties文件中添加如下配置:

    memory.cache.size=1000

插件文档

  • 更多详细请阅读内存缓存插件文档

  • 如果您想了解更多插件相关的,或者自己开发插件,请阅读DBAPI如何使用内存缓存

相关推荐
xdpcxq102913 小时前
风控场景下超高并发频次计算服务
java·服务器·网络
想用offer打牌13 小时前
你真的懂Thread.currentThread().interrupt()吗?
java·后端·架构
橘色的狸花猫13 小时前
简历与岗位要求相似度分析系统
java·nlp
独自破碎E13 小时前
Leetcode1438绝对值不超过限制的最长连续子数组
java·开发语言·算法
用户917439653913 小时前
Elasticsearch Percolate Query使用优化案例-从2000到500ms
java·大数据·elasticsearch
计算机毕设VX:Fegn089514 小时前
计算机毕业设计|基于springboot + vue小区人脸识别门禁系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
yaoxin52112314 小时前
279. Java Stream API - Stream 拼接的两种方式:concat() vs flatMap()
java·开发语言
坚持学习前端日记14 小时前
2025年的个人和学习年度总结以及未来期望
java·学习·程序人生·职场和发展·创业创新
Cosmoshhhyyy14 小时前
《Effective Java》解读第29条:优先考虑泛型
java·开发语言
Chen不旧14 小时前
java基于reentrantlock/condition/queue实现阻塞队列
java·开发语言·signal·reentrantlock·await·condition