Redis 事件监听

xiaoxiao2021-02-28  92

需求: 要统计一个页面的访问人数,如果访问量大时,频繁读写数据库,而且操作的是同一个数据,可能会对性能造成影响。

解决: 把数据放在缓存中,定期和数据库同步,设置容器关闭监听器,关闭容器前,将数据同步到数据库。

现在系统中缓存用的是redis。redis一般的应用是提供查询效率,很少更新,更新也是直接更新数据库,清空缓存。但现在情况不同,更新是直接在缓存中更新,要在清空缓存前,将数据同步到数据库中。

清空缓存有两种情况:1、设置的过期时间到了;2、设置的最大内存满了,要清理部分数据。

只要监听到这两个事件,在这两个事件执行之前同步到数据库中就行了。

Redis确实可以监听到这两个事件,如下所示,不过,是在删除之后通知的。这就不能满足我的需求了。

不过还是把代码整理下,以防以后用的到。 https://github.com/zhouna/redisDemo.git

参考: http://doc.redisfans.com/topic/notification.html https://redis.io/topics/notifications

http://blog.csdn.net/kry1201/article/details/72629107 http://blog.csdn.net/byfordlee/article/details/50980632

转载请注明原文地址: https://www.6miu.com/read-76003.html

最新回复(0)