前言:无论是开发或者生产,都有刷新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缓存刷新配置化相关推荐

  1. 实战SSM_O2O商铺_45【Redis缓存】配置Redis在Service层加入缓存

    文章目录 概述 Windows下安装Redis O2O-Service层加入缓存的配置步骤 1. pom.xml 添加jedis依赖包 2. redis配置文件 3.spring-dao.xml加载r ...

  2. redis 清空缓存_「镜头回放」简直了!spring中清除redis缓存导致应用挂死

    异常场景 springWeb应用一直运行正常,同事最近反应,每次版本更新完毕,刷新缓存,就会导致应用挂死.只有重启redis应用才恢复正常. 项目概况 springWeb项目,常用配置表做了redis ...

  3. 实战SSM_O2O商铺_46【Redis缓存】头条信息+商铺目录Service层加入缓存

    文章目录 概述 HeadLineServiceImpl的改造 代码 单元测试 ShopCategoryServiceImpl的改造 代码 单元测试 Github地址 概述 根据数据的特点,不经常变动的 ...

  4. Spring Boot集成Redis缓存之注解方式

    首先还是加入依赖Jar pom.xml中加入依赖 <!-- 加载spring boot redis 包 --><dependency><groupId>org.sp ...

  5. ThinkPHP5.1使用redis缓存

    ThinkPHP框架已经封装好redis驱动,不管是session还是cache都支持redis驱动,下面我们来了解一下在ThinkPHP5.1版本下如何使用redis缓存. 配置:/config/c ...

  6. MySQL建表添加乐观锁字段_Java秒杀系统优化-Redis缓存-分布式session-RabbitMQ异步下单-页面静态化...

    Java秒杀系统优化-Redis缓存-分布式session-RabbitMQ异步下单-页面静态化 项目介绍 基于SpringBoot+Mybatis搭建的秒杀系统,并且针对高并发场景进行了优化,保证线 ...

  7. 【免费使用】【redis】【数据库】快速使用redislabs免费套餐 注册和配置redis 缓存 数据库 nosql

    [免费]快速使用redislabs免费套餐 注册和配置redis 缓存数据库 简介 视频教程 操作步骤 参考资料 结束の语 今日问答 YOUTUBE频道 欢迎订阅我的bilibili频道 [免费]快速 ...

  8. 配置redis缓存实例出现报错 及解决方法

    redis由于其高并发和高性能常被用于缓存 原理图如下 配置时常常会遇到一些问题. 正常情况下,访问应该如下展示: 第一次访问页面 再次刷新上次访问页面,会出现如下页面 mysql 变为redis 但 ...

  9. SpringMVC+Mybatis+MySQL配置Redis缓存

    SpringMVC+Mybatis+MySQL配置Redis缓存 1.准备环境: SpringMVC:spring-framework-4.3.5.RELEASE-dist Mybatis:3.4.2 ...

最新文章

  1. c语言程序设计基础程序改错,c程序设计程序改错题_相关文章专题_写写帮文库...
  2. APL开发日志--2012-11-08
  3. 自动化测试之alert弹窗的切换
  4. 边界测试——让BUG现形
  5. testid oracle vue,Vue 组件单元测试究竟测试什么?
  6. linux免采集卡直播ps4,ps4免采集卡直播方法
  7. 全国计算机城市排名,这五大城市教育资源全国领先,各城市优质高校排行榜一定要收藏!...
  8. hp7610扫描到计算机无法激活,惠普HP Officejet 7610一体机解决扫描问题(一)
  9. 9、recoil库的基本使用
  10. 有道云怎么换行_『42』怎样令为知笔记中的长网址换行?
  11. 紫书 习题 11-12 UVa 1665 (并查集维护联通分量)
  12. 【Git/GitHub/VSCode】Git提交时使用EMOJI表情、在VS Code中使用emoji commit
  13. [Excel常用函数] sumif sumifs函数
  14. VBA打开已加密的Excel文件
  15. AWVS13的安装过程
  16. 基于微信小程序的婚纱影楼门户小程序
  17. 艾美捷CpG-A DNA,人/小鼠的功能和应用
  18. 百亿积木市场,能跑出一个“中国乐高”?
  19. android i18n,Android i18n 国际化
  20. Understand Tensor Deeply

热门文章

  1. 最近天天说芯片 ,芯片到底是什么?
  2. CentOS 6.7命令行下装图形界面(用下载的镜像文件CentOS-6.7-i386-bin-DVD1.iso)
  3. selenium+python实现1688网站验证码图片的截取
  4. python定义向量_python中向量怎么表示
  5. 转载:HP大中华区总裁孙振耀退休感言(同勉)
  6. JAVA实现数据库编程第三章_[数据库]使用Java实现数据库编程—03 第三章 高级查询(一)...
  7. python输入转化为数字_用Python罗马数字转换为阿拉伯数字的方法
  8. Lynket浏览器支持网页AMP文章阅读
  9. Java零基础好学吗?Java该怎么学?
  10. ntp服务器源码c语言,基于NTP服务器+ Ethernet智能手表(智能表源码+ Ethernet源码+3D打印)...