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 ...
最新文章
- c语言程序设计基础程序改错,c程序设计程序改错题_相关文章专题_写写帮文库...
- APL开发日志--2012-11-08
- 自动化测试之alert弹窗的切换
- 边界测试——让BUG现形
- testid oracle vue,Vue 组件单元测试究竟测试什么?
- linux免采集卡直播ps4,ps4免采集卡直播方法
- 全国计算机城市排名,这五大城市教育资源全国领先,各城市优质高校排行榜一定要收藏!...
- hp7610扫描到计算机无法激活,惠普HP Officejet 7610一体机解决扫描问题(一)
- 9、recoil库的基本使用
- 有道云怎么换行_『42』怎样令为知笔记中的长网址换行?
- 紫书 习题 11-12 UVa 1665 (并查集维护联通分量)
- 【Git/GitHub/VSCode】Git提交时使用EMOJI表情、在VS Code中使用emoji commit
- [Excel常用函数] sumif sumifs函数
- VBA打开已加密的Excel文件
- AWVS13的安装过程
- 基于微信小程序的婚纱影楼门户小程序
- 艾美捷CpG-A DNA,人/小鼠的功能和应用
- 百亿积木市场,能跑出一个“中国乐高”?
- android i18n,Android i18n 国际化
- Understand Tensor Deeply
热门文章
- 最近天天说芯片 ,芯片到底是什么?
- CentOS 6.7命令行下装图形界面(用下载的镜像文件CentOS-6.7-i386-bin-DVD1.iso)
- selenium+python实现1688网站验证码图片的截取
- python定义向量_python中向量怎么表示
- 转载:HP大中华区总裁孙振耀退休感言(同勉)
- JAVA实现数据库编程第三章_[数据库]使用Java实现数据库编程—03 第三章 高级查询(一)...
- python输入转化为数字_用Python罗马数字转换为阿拉伯数字的方法
- Lynket浏览器支持网页AMP文章阅读
- Java零基础好学吗?Java该怎么学?
- ntp服务器源码c语言,基于NTP服务器+ Ethernet智能手表(智能表源码+ Ethernet源码+3D打印)...