Redis 事件监听

来源:互联网 发布:上海行知教育骗局 编辑:程序博客网 时间:2024/06/05 02:57

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

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

现在系统中缓存用的是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