用Redis给Java做优惠卷过期

先科补一下原理

1.我们是利用RedisSpring Data 来做

虽然定时任务quartz框架也可以做

主要嫌弃定时任务做太多刷数据

服务器压力过大

2.Redis中自带发布/订阅者模式(publish/subscribe)

主要是使用Redis中key的过期时间来做

也就是环境配置好后

3. 用Java保存Redis 顺便设置key的时间

Java代码订阅Redis中的__keyevent@dbindex__:expired

__keyevent@dbindex__:expired的主要作用是Redis中检测key到期时间的事件

大家都知道Redis默认16个库

如果用的是0号库

就检测__keyevent@0__:expired

dbindex表示Redis库下标

Java代码检测到指定的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 nodaemonize 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代码

原文链接:https://blog.csdn.net/yuell102/article/details/89072476?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165277499316781667814000%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165277499316781667814000&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-19-89072476-null-null.nonecase&utm_term=%E4%BC%98%E6%83%A0

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
文明发言,共建和谐米科社区
提交
头像

昵称

取消
昵称表情图片

    暂无评论内容