先科补一下原理
1.我们是利用Redis与Spring Data 来做
定时任务quartz框架也可以做
主要嫌弃定时任务做太多刷数据
服务器压力过大
2.Redis中自带发布/订阅者模式(publish/subscribe)
key的过期时间来做
也就是环境配置好后
3. 用Java保存Redis 顺便设置key的时间
Java代码订阅Redis中的__keyevent@dbindex__:expired
__keyevent@dbindex__:expired的主要作用是Redis中检测key到期时间的事件
Redis中默认有16个库
0号库
0__:expired
dbindex表示Redis库的下标
指定的key过期
key指定的数据刷新状态
4. 未写完,先贴出思路,后续会补全实际操作与代码
实际操作(mac)
1.安装homebrew(mac的安装神器,其他操作系统不需要安装)
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.开始下载redis(Windows系统直接去官网下载)
brew install redis
3.下载好后,启动redis
redis-server
4.在Redis目录中找到redis.conf修改配置文件
vim /usr/local/etc/redis.conf
修改 daemonize no 为 daemonize yes
修改 requirepass foobared 为 requirepass 123456 修改默认密码
修改 notify-keyspace-events "" 为 notify-keyspace-events Ex 打开此配置,其中Ex表示键事件通知里面的key过期事件,每当有过期键被删除时,会发送通知
修改配置完,记得重启Redis
5. 测试redis
ping
set key1 123456
get key1
del key1
6. 测试订阅号
未完成,后续会贴出Java代码