先科补一下原理

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

java优惠券功能实现 java优惠券过期_Java

6. 测试订阅号 

java优惠券功能实现 java优惠券过期_Redis_02

未完成,后续会贴出Java代码