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

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

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

相关推荐
天生励志1231 小时前
Redis 安装部署
数据库·redis·缓存
武帝为此4 小时前
【Redis 数据库介绍】
数据库·redis·缓存
铁锚4 小时前
Redis中KEYS命令的潜在风险与遍历建议
数据库·redis·缓存
程序员果子6 小时前
零拷贝:程序性能加速的终极奥秘
linux·运维·nginx·macos·缓存·centos
可爱の小公举6 小时前
Redis技术体系全面解析
数据库·redis·缓存
Mxsoft6196 小时前
接触电阻监测误报,多物理场特征融合救场!
缓存
Geoking.9 小时前
Redis 中 ziplist 与 quicklist 解析与对比
数据库·redis·缓存
第二只羽毛10 小时前
C++高性能内存池
开发语言·c++·缓存·性能优化
卿雪10 小时前
Redis 数据持久化:RDB和 AOF 有什么区别?
java·数据库·redis·python·mysql·缓存·golang
闲人编程10 小时前
微服务API网关设计模式
python·缓存·微服务·设计模式·系统安全·api·codecapsule