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

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

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

相关推荐
小雨下雨的雨12 分钟前
第2篇:Redis持久化机制详解(RDB与AOF)
数据库·redis·缓存
卿雪2 小时前
Redis 双写一致性:旁路缓存、延迟双删、读写锁、异步通知
java·数据库·redis·sql·mysql·缓存·nosql
夜空孤狼啸2 小时前
npm、yarn、pnpm清理缓存
前端·缓存·npm
zybsjn2 小时前
redis惰性删除会不会导致过期key的堆积
数据库·redis·缓存
赖small强16 小时前
【Linux 内存管理】Linux系统中CPU访问内存的完整机制深度解析
linux·缓存·tlb·内存访问·page table
IT_Octopus17 小时前
java多线程环境下 安全地初始化缓存(避免缓存击穿),同时兼顾性能 的双重检查锁方案
java·spring·缓存
少许极端20 小时前
Redis入门指南:从零到分布式缓存-hash与list类型
redis·分布式·缓存·list·hash
库库林_沙琪马1 天前
9、缓存与Session共享
缓存
qq_316837751 天前
uniapp 缓存请求文件时 判断是否有文件缓存 并下载和使用
前端·缓存·uni-app
跟着珅聪学java1 天前
Jedis SetParams教程:参数化设置 Redis 键值对
数据库·redis·缓存