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

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

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

相关推荐
苏渡苇5 小时前
5 分钟跑起 Redis(Docker 版)
数据库·redis·缓存·docker·redis入门
Jul1en_6 小时前
【Redis】Zset类型、命令及应用场景
数据库·redis·缓存
杨凯凡6 小时前
【014】基本类型与包装类:缓存、相等性、NPE
java·数据结构·缓存
weisian15110 小时前
Java并发编程--33-Redis分布式缓存三大核心架构:主从、哨兵、分片,落地实战与选型
java·redis·缓存·主从架构·哨兵架构·分片架构
heimeiyingwang11 小时前
【无标题】
网络·缓存·docker·性能优化·架构
我不听你讲话11 小时前
Redis 配置与优化核心内容总结
数据库·redis·缓存
Wy_编程12 小时前
redis 客户端编程
数据库·redis·缓存
Jul1en_13 小时前
【Redis】Set类型、命令及应用场景
数据库·redis·缓存
橙露13 小时前
Redis 缓存穿透、击穿、雪崩解决方案
数据库·redis·缓存
程序员-南14 小时前
解决 Vue3 中 keep-alive 缓存问题的方法
缓存·vue3