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

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

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

相关推荐
梁bk21 分钟前
Redis 内存回收
数据库·redis·缓存
万邦科技Lafite2 小时前
API接口地址解析地区码操作指南
网络·数据库·redis·缓存·开放api·电商开放平台
此生只爱蛋2 小时前
【Redis】常用命令
数据库·redis·缓存
少许极端3 小时前
Redis入门指南:从零到分布式缓存(一)
redis·分布式·缓存·微服务
麦芽糖02193 小时前
若依管理系统去掉Redis相关配置
数据库·redis·缓存
学到头秃的suhian4 小时前
Spring使用三级缓存解决循环依赖问题
前端·spring·缓存
梁bk5 小时前
Redis 通信协议(RESP)
数据库·redis·缓存
小园子的小菜7 小时前
Redis序列化生产实践:从选型到落地的案例指南
数据库·redis·缓存
007php0079 小时前
redis缓存功能结合实际项目面试之问题与解析
网络·redis·nginx·缓存·面试·职场和发展·php
safestar201210 小时前
Caffeine不只是Guava Cache升级版:高并发场景下的缓存设计与实战陷阱
缓存·caffe·guava