社区
高性能WEB开发
帖子详情
redis可以自动刷新缓存吗
liuhc10
2017-08-31 09:04:59
访问只读库做接口开发。
用redis做缓存,用户访问自动缓存数据。
但是这样子有不少缺点,1,没缓存用户访问接口的时候比较慢。2,缓存失效后同时请求数据库压力过大。
redis有这种功能:当缓存过期或没缓存的时候自动执行,将数据缓存好,而不是靠用户来触发。
quratz定时任务这种实现模式的话我觉得还是不太好,请问各位大神有其它的方法吗
...全文
13148
26
打赏
收藏
redis可以自动刷新缓存吗
访问只读库做接口开发。 用redis做缓存,用户访问自动缓存数据。 但是这样子有不少缺点,1,没缓存用户访问接口的时候比较慢。2,缓存失效后同时请求数据库压力过大。 redis有这种功能:当缓存过期或没缓存的时候自动执行,将数据缓存好,而不是靠用户来触发。 quratz定时任务这种实现模式的话我觉得还是不太好,请问各位大神有其它的方法吗
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
26 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zgycsmb
2019-06-26
打赏
举报
回复
可以在配制文件中设置缓存时间的。
技术煜
2018-08-30
打赏
举报
回复
1
可以用Timer来做,设置更新频率 public static void timer() { Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { public void run() { System.out.println("-------设置redis缓存数据,失效时间为60秒--------"); } },0, 50*1000); // 延迟0毫秒开始执行,每50秒执行一次更新Redis。 }
田小瘦
2018-08-23
打赏
举报
回复
好想法啊,可以给redis打个电话发个短信什么的? 不行的话,也不想手动触发的,就用个定时器吧.建议还是手动触发, 只是在手动的时候做一个优化处理,
济南大飞哥
2018-08-06
打赏
举报
回复
我记得一篇文章说过,可以让redis永不过期,然后定时刷新,前提是在业务能接受的范围。
hahaliu005
2018-08-06
打赏
举报
回复
1. 缓存数据在过期时间,不过过期时间是随机的一个时间段内的,这样所有缓存就不会在同一时间失效造成压力
2. 永久缓存数据至redis,所有逻辑均从redis中读取,使用定时任务或一些数据库的更新事件回调对数据进行更新,
新技术追求者
2018-07-01
打赏
举报
回复
最好的办法是专门有一个定时的管理任务,那你需要定时更新的数据都放在定时的任务里,这里不管你有没有缓冲,他都会去定时的往你的redis中取更新任务,redis只是一个存储数据的地方,其实也是个DB,redis服务端是自带自动更新的功能,你可以取了解下!
幽饮烛
2018-06-21
打赏
举报
回复
本来想回复一下,发现是17年的贴。
comeoncomputer
2018-06-04
打赏
举报
回复
为什么要自动刷新缓存呢 如果缓存数据为空设置缓存不就好了 比如你的key:test 缓存数据为7天,到期之后你的test为空了,如果有访问为空设置缓存不就有缓存了
weixin_41670939
2018-05-28
打赏
举报
回复
建议手动更新来及时刷新
我惠依旧
2018-05-23
打赏
举报
回复
热点数据缓存时间放长点,每次访问都重新刷新缓存时间;非热点数据时间就慢点,访问时也刷新个缓存时间;缓存失效也只是访问一次数据库(理想状态,非理想状态也不会太多次),再次访问就已经是缓存里的数据了。
a_king
2018-05-13
打赏
举报
回复
应该是通过程序来刷新REDIS里面的数据
yanbingwei86
2018-02-25
打赏
举报
回复
楼主想多了 redis只是个内存db,想存什么数据肯定是你程序写进去的。不管是被动还是主动,建议被动方式。这种ms级别的操作还会有什么性能问题,你应该是rt估计的有问题吧。拍脑袋的问题吧
哈希塞特
2018-02-24
打赏
举报
回复
那你还有设置过期时间的必要吗? 如果数据库改变再更新缓存,根本不要过期时间啊
raymond_geng
2017-11-13
打赏
举报
回复
楼主这个需求不太合理,缓存不只是没有了和要过期了才需要刷新,里面数据变了就要刷新的。先放任不管任由缓存自行管理,没有这种机制的。 ”同时请求数据库压力过大“,如果出现这种情况,那是设计时候就没设计好,要不然不会出现这个情况的 北京JAVAQQ群 103503138,里面有猎头、人资、技术大牛,欢迎加群交流
NewshiJ
2017-11-13
打赏
举报
回复
redis里面不是可以设置key的时间嘛,这个具体怎么样有没有大神来介绍一下
General-M
2017-11-12
打赏
举报
回复
可以看下redis的keyspace
Kerwin Ma
2017-11-07
打赏
举报
回复
redis可以设置缓存时间,过期或者更新后需要重新去缓存,#7说的做定时器 不知道好不好使,可以试一下。
老廉颇尚能饭否
2017-11-07
打赏
举报
回复
底层源码改造一哈
吉吉g王
2017-11-06
打赏
举报
回复
还不如 先查redis 如果redis没有 去查库 如果库里存在 那么再存redis 不存在的话 就返回不存在
Seven丨
2017-11-01
打赏
举报
回复
做个定时器,去触发执行redis的方法
加载更多回复(6)
SpringBoot AOP控制
Redis
自动
缓存
和更新的示例
今天小编就为大家分享一篇关于SpringBoot AOP控制
Redis
自动
缓存
和更新的示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
mycacher:使用MySQL Binlog
自动
刷新
Redis
缓存
mycacher:使用MySQL Binlog
自动
刷新
Redis
缓存
nosql
缓存
技术之
redis
深入学习
1、
redis
一致性hash算法、
redis
数据结构 2、
redis
分布式锁实现、lua脚本初探 3、lua脚本演练、
redis
持久化详细剖析 4、
redis
主从、哨兵、集群搭建及原理讲解 5、
redis
缓存
击穿、
缓存
雪崩、热点key、jediscluster源码解读
scripty:Node.js的
Redis
脚本管理器
已淘汰 请改用 。 用于node.js的
Redis
脚本管理器。 使用scripty.loadScript轻松将脚本加载到
Redis
的脚本
缓存
中。 使用script.run()运行加载的脚本; 脚本将sha1摘要
缓存
在节点进程本地的LRU
缓存
中,从而允许它使用哈希在
Redis
上调用脚本,而不是每次都对其进行评估。 脚本还可以防止
Redis
上的脚本
刷新
。 如果
Redis
脚本
缓存
被清空或脚本由于某种原因而消失,则Scripty将
自动
检测到此情况并在执行之前将脚本重新加载到
Redis
中。 要求 与v0.10兼容
Redis
v2.6或以上 安装 npm install node-
redis
-scripty 用法 var
redis
= require ( '
redis
' ) . createClient ( ) ; var src = 'return KEYS[1]' ; var scr
springboot自定义注解实现
redis
多线程定时
刷新
缓存
在上面的示例中,定义了一个自定义注解@
Redis
CacheRefresh,用于标注需要定时
刷新
缓存
的方法。注解中包含三个属性,key用于指定
缓存
key,refreshInterval用于指定
刷新
周期,refreshThreads用于指定
刷新
线程数。可以使用ScheduledThreadPoolExecutor来实现多线程定时
刷新
。在定时任务执行时,可以通过注解中指定的key获取
缓存
值,并重新设置
缓存
值。在上面的示例中,
Redis
CacheRefresher类是一个定时任务,通过@Scheduled注解。
高性能WEB开发
25,985
社区成员
4,366
社区内容
发帖
与我相关
我的任务
高性能WEB开发
高性能WEB开发
复制链接
扫一扫
分享
社区描述
高性能WEB开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章