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

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

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

相关推荐
青春男大11 小时前
Redis和RedisTemplate快速上手
java·数据库·redis·后端·spring·缓存
十月南城15 小时前
Nginx与网关配置观——超时、限流、TLS与代理缓存的原则化清单
运维·nginx·缓存
醒过来摸鱼16 小时前
Redis 源码分类
数据库·redis·缓存
小北方城市网18 小时前
MyBatis-Plus 生产级深度优化:从性能到安全的全维度方案
开发语言·redis·分布式·python·缓存·性能优化·mybatis
CodeToGym19 小时前
【Spring全家桶】Spring Cache 深度解析:一行注解实现缓存自动化
spring·缓存·自动化
夏天想21 小时前
解决小程序缓存时间是永久性得除非用户主动删除得问题
java·缓存·小程序
晓131321 小时前
第四章:Redis实战应用及常见问题(下篇)
java·数据库·缓存·wpf
菜鸟小九21 小时前
redis高级篇(多级缓存)
数据库·redis·缓存
椰子今天很可爱21 小时前
Redis基础知识介绍
数据库·redis·缓存
码农水水21 小时前
中国邮政Java面试被问:Actuator端点的安全过滤和JMX导出原理
数据库·spring boot·redis·后端·安全·缓存·mybatis