Redis缓存刷新配置化
前言:无论是开发或者生产,都有刷新redis_key的操作,但像一些业务使用的redis_key并没有一个统一的地方去管理(甚至有时需要找代码定位),基于此种思考,做了个可配置化刷新缓存架构
核心思想:基于操作,以及K-V的加载来实现不同的策略方式刷新(思路简单但实现相对复杂,具体可以看建表语句)
目前实现维度基于string和hash常见操作
根据四个维度选择具体的策略更新类
handle_type:操作类型 更新/删除
key_kind:string hash
key_type:不通过sql加载,1 通过sql加载
value_type:配置值,sql查询string数据 ,sql查询对象存对象值 ,sql查询存list数据
以下为对应的图
建表语句
drop table if exists cache_fresh_bean;
create table cache_fresh_bean(id int auto_increment primary key,key_kind tinyint default 0 comment 'key的种类;0-string 1-hash',key_name varchar(200) comment '缓存key',key_param text comment '拼接key的参数,逗号分割;',key_type tinyint default 0 comment '0-string不通过sql加载,1-string 通过sql加载;',value_param text comment '拼接key的参数,逗号分割;',value_type tinyint default 0 comment '0-不加载sql,1-加载sql string ,2-sql Object ,3 sql list',count_expression text comment 'sql统计表达式',select_expression text comment 'sql查询表达式,不带limit,分页查会自动计算',page_status tinyint default 0 comment '分页 0-使用默认limit 2000 1-使用select_expression表达式的 2-使用count_expression分页',expire_time int UNSIGNED comment 'key存活时间',expire_unit int comment '单位 TimeUnit中的 nanoseconds-纳秒 microseconds-微秒 milliseconds-毫秒 seconds-秒 minutes-分 hours-小时 days-天',status tinyint default 0 comment '0-未执行,1-正在执行 2-执行成功 3-执行失败',remark text comment '备注' ,handle_type varchar(60) comment '刷新类型 0-删除 1-刷新',create_time datetime default now() comment '创建时间',create_by varchar(100) comment '创建人',update_time datetime default now() ON UPDATE now() comment '更新时间',update_by varchar(100) comment '更新人'
) comment 'redis常用配置_缓存刷新配置';
Redis缓存刷新配置化相关推荐
- 实战SSM_O2O商铺_45【Redis缓存】配置Redis在Service层加入缓存
文章目录 概述 Windows下安装Redis O2O-Service层加入缓存的配置步骤 1. pom.xml 添加jedis依赖包 2. redis配置文件 3.spring-dao.xml加载r ...
- redis 清空缓存_「镜头回放」简直了!spring中清除redis缓存导致应用挂死
异常场景 springWeb应用一直运行正常,同事最近反应,每次版本更新完毕,刷新缓存,就会导致应用挂死.只有重启redis应用才恢复正常. 项目概况 springWeb项目,常用配置表做了redis ...
- 实战SSM_O2O商铺_46【Redis缓存】头条信息+商铺目录Service层加入缓存
文章目录 概述 HeadLineServiceImpl的改造 代码 单元测试 ShopCategoryServiceImpl的改造 代码 单元测试 Github地址 概述 根据数据的特点,不经常变动的 ...
- Spring Boot集成Redis缓存之注解方式
首先还是加入依赖Jar pom.xml中加入依赖 <!-- 加载spring boot redis 包 --><dependency><groupId>org.sp ...
- ThinkPHP5.1使用redis缓存
ThinkPHP框架已经封装好redis驱动,不管是session还是cache都支持redis驱动,下面我们来了解一下在ThinkPHP5.1版本下如何使用redis缓存. 配置:/config/c ...
- MySQL建表添加乐观锁字段_Java秒杀系统优化-Redis缓存-分布式session-RabbitMQ异步下单-页面静态化...
Java秒杀系统优化-Redis缓存-分布式session-RabbitMQ异步下单-页面静态化 项目介绍 基于SpringBoot+Mybatis搭建的秒杀系统,并且针对高并发场景进行了优化,保证线 ...
- 【免费使用】【redis】【数据库】快速使用redislabs免费套餐 注册和配置redis 缓存 数据库 nosql
[免费]快速使用redislabs免费套餐 注册和配置redis 缓存数据库 简介 视频教程 操作步骤 参考资料 结束の语 今日问答 YOUTUBE频道 欢迎订阅我的bilibili频道 [免费]快速 ...
- 配置redis缓存实例出现报错 及解决方法
redis由于其高并发和高性能常被用于缓存 原理图如下 配置时常常会遇到一些问题. 正常情况下,访问应该如下展示: 第一次访问页面 再次刷新上次访问页面,会出现如下页面 mysql 变为redis 但 ...
- SpringMVC+Mybatis+MySQL配置Redis缓存
SpringMVC+Mybatis+MySQL配置Redis缓存 1.准备环境: SpringMVC:spring-framework-4.3.5.RELEASE-dist Mybatis:3.4.2 ...
最新文章
- Java I/O Demo
- Swift之深入解析反射Mirror与错误处理
- dump文件解析之探索.Net的内存
- 利用qsort二级排序
- 垂直居中——登录界面
- 在C ++中检查一个数组是否是另一个数组的子数组
- Docker-创建和分享应用(3)
- @Entity,@Indexed @XmlRootElement
- matlab与r语言运算速度,R语言与matlab循环时间对比
- Java 正则表达式处理复杂文本,效率就是高!
- VMware 虚拟机安装 CentOS 7.2 系统
- Atitit。Time base gc 垃圾 资源 收集的原理与设计
- msys2 pacman 安装 删除等常见命令汇总
- 精通javascript学习笔记
- yum安装wget命令
- Appium----基于Ubuntu系统安装个人版免费的Android模拟器Genymotion模拟器
- 【实验】实验课总结3 实验二
- Java设计模式8,校验、审批流程改善神器,责任链模式
- 华为万人下东莞!二线城市升级只剩“抢龙头”一条路
- Linux0.11 键盘中断处理过程