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

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

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

相关推荐
Golinie5 小时前
【Go | 从0实现简单分布式缓存】-1:LRU缓存淘汰策略与单机并发缓存
分布式·缓存·golang
清风微凉 aaa5 小时前
Redis-03高级篇中-多级缓存:
数据库·redis·缓存
一个假的前端男5 小时前
node 使用 Redis 缓存
数据库·redis·缓存
羊村懒哥5 小时前
高性能内存对象缓存Memcached详细实验操作
数据库·缓存·memcached
左灯右行的爱情6 小时前
Redis-缓存过期和内存淘汰
前端·redis·缓存
羊村懒哥8 小时前
网络缓存加速技术解析:从诞生到演进
缓存
祈澈菇凉8 小时前
如何清理cache-loader生成的缓存目录?
缓存
嘵奇8 小时前
MyBatis框架七:缓存
缓存·mybatis
明达技术8 小时前
网关断网缓存:让网络连接更可靠
缓存
库库林_沙琪马17 小时前
Redis 持久化:从零到掌握
数据库·redis·缓存