千里马平台设计说明-字典缓存

字典是软件开发中常用的功能。使用字典的核心问题是翻译,因为数据库中存储的是代码,前台页面展示的是描述。用于多语言环境时,翻译过程还需要根据语言环境进行适配。为了加快字典的加载速度,千里马平台采用了后台缓存+前台缓存2级缓存机制。

以下代码摘自@/api/qlm_dictItem.js

复制代码
export async function gainCodeItemList(setid){
 let value=qlm_getValue(setid,"session")
 if (value!=null){
   return JSON.parse(value)
 }
 let ret=await queryCodeItemList(setid)
 if (ret.retCode==88888888){
   qlm_setValue(setid,JSON.stringify(ret.data),"session")
   return ret.data
 }
 else{
   console.info("gainCodeItemList:"+setid+" error:"+ret.msg)
   return null
 }
}

取字典时先从sessionStore中取(只所以存在sessionStore中是为了刷新方便),取不到时调用接口queryCodeItemList从后台取字典。

后台接收到请求时,先取缓存(根据配置取内存或redis),没有的话从数据库中读取。

维护字典信息时,需要实时刷新缓存。

相关推荐
Arva .12 分钟前
Spring 的三级缓存,两级够吗
java·spring·缓存
haixingtianxinghai2 小时前
Redis真的是单线程吗?
数据库·redis·缓存
尽兴-3 小时前
Redis7 底层数据结构解析
数据结构·数据库·缓存·redis7
深蓝电商API4 小时前
缓存策略在海淘代购系统中的应用
缓存·系统架构·跨境电商·代购系统·反向海淘·代购平台
庞轩px5 小时前
缓存Key设计的“七要七不要”
java·jvm·redis·缓存
難釋懷6 小时前
Redis分片集群手动故障转移
数据库·redis·缓存
用什么都重名9 小时前
Redis 入门与实践:从基础到 Stream 消息队列
数据库·redis·缓存
常利兵9 小时前
Spring Boot缓存新玩法:一键切换,租户无忧
spring boot·后端·缓存
Lyyaoo.11 小时前
Spring Boot日志
spring boot·缓存·单元测试
Curvatureflight11 小时前
Redis实战:缓存设计与高频场景全解析
数据库·redis·缓存