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

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

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

相关推荐
塔能物联运维1 天前
设备断网时数据丢失,后来启用本地缓存+异步重传队列
java·开发语言·缓存
haiyu柠檬1 天前
迁移redis 集群从Ubuntu到Red Hat
数据库·redis·缓存
七宝大爷1 天前
Transformer推理优化:KV缓存机制详解
深度学习·缓存·transformer
卿雪1 天前
认识Redis:Redis 是什么?好处?业务场景?和MySQL的区别?
服务器·开发语言·数据库·redis·mysql·缓存·golang
虹科网络安全1 天前
艾体宝干货 | Redis Python 开发系列#6 缓存、分布式锁与队列架构
redis·python·缓存
卿雪1 天前
缓存异常:缓存击穿、缓存穿透、缓存雪崩 及其解决方案
java·数据库·redis·python·mysql·缓存·golang
绝顶少年1 天前
Redis 五大核心应用场景实战解析:缓存、会话、排行榜、分布式锁与消息队列
redis·分布式·缓存
绝顶少年1 天前
缓存穿透终极解决方案:布隆过滤器与空值缓存深度解析
缓存
卿雪1 天前
Redis的数据类型 + 底层实现:String、Hash、List、Set、ZSet
数据结构·数据库·redis·python·mysql·缓存·golang