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

字典是软件开发中常用的功能。使用字典的核心问题是翻译,因为数据库中存储的是代码,前台页面展示的是描述。用于多语言环境时,翻译过程还需要根据语言环境进行适配。为了加快字典的加载速度,千里马平台采用了后台缓存+前台缓存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),没有的话从数据库中读取。

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

相关推荐
呼拉拉呼拉14 分钟前
Redis故障转移
数据库·redis·缓存·高可用架构
篱笆院的狗4 小时前
如何使用 Redis 快速实现布隆过滤器?
数据库·redis·缓存
Alla T5 小时前
【前端】缓存相关
前端·缓存
chen.@-@9 小时前
后端下载限速(redis记录实时并发,bucket4j动态限速)
数据库·redis·缓存
吾日三省吾码11 小时前
Spring 团队详解:AOT 缓存实践、JSpecify 空指针安全与支持策略升级
java·spring·缓存
不凡的凡1 天前
鸿蒙图片缓存(一)
缓存
潘yi.1 天前
Redis哨兵模式
数据库·redis·缓存
唐墨1231 天前
LRU 和 DiskLRU实现相册缓存器
缓存
IT_Octopus1 天前
多线程下使用缓存+锁Lock, 出现“锁失效” + “缓存未命中竞争”的缓存击穿情况,双重检查缓存解决问题
java·spring·缓存
MuYiLuck1 天前
【redis实战篇】第八天
数据库·redis·缓存