前言:无论是开发或者生产,都有刷新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. Java I/O Demo
  2. Swift之深入解析反射Mirror与错误处理
  3. dump文件解析之探索.Net的内存
  4. 利用qsort二级排序
  5. 垂直居中——登录界面
  6. 在C ++中检查一个数组是否是另一个数组的子数组
  7. Docker-创建和分享应用(3)
  8. @Entity,@Indexed @XmlRootElement
  9. matlab与r语言运算速度,R语言与matlab循环时间对比
  10. Java 正则表达式处理复杂文本,效率就是高!
  11. VMware 虚拟机安装 CentOS 7.2 系统
  12. Atitit。Time base gc 垃圾 资源 收集的原理与设计
  13. msys2 pacman 安装 删除等常见命令汇总
  14. 精通javascript学习笔记
  15. yum安装wget命令
  16. Appium----基于Ubuntu系统安装个人版免费的Android模拟器Genymotion模拟器
  17. 【实验】实验课总结3 实验二
  18. Java设计模式8,校验、审批流程改善神器,责任链模式
  19. 华为万人下东莞!二线城市升级只剩“抢龙头”一条路
  20. Linux0.11 键盘中断处理过程

热门文章

  1. Linux高阶命令使用
  2. Python赋值列表
  3. “国稻种芯”-517功能性苦瓜稻 江西测产株高大穂粒多结实高
  4. 3个步骤教你如何用Python实现网页转PDF
  5. postgresql大数据查询加索引和不加索引耗时总结
  6. After Effects (AE)2021软件下载及安装教程。
  7. poj动态规划经典题目
  8. 国美海尔联姻能否白头到老?
  9. Quantile 百分位数
  10. 百度智能云手机使用体验