redis设置【过期时间】
遇到个业务,每次下发指令,都需要存储指令的id,当终端机器,推给服务端的时候,会携带指令,此时根据指令id,判断是否存在。每辆车,1个小时可能出现100次指令,如果有10W辆车,那就是1千万,1小时1千万数据,存储不太现实,redis支持的key只有2亿。因为下次也用不到这个指令,如果是做数据分析的话,我们直接把指令记录写到磁盘就行。所以需要设置一个过期时间,当指令过了多久后会自动消失。这种方法不
·
遇到个业务,每次下发指令,都需要存储指令的id,当终端机器,推给服务端的时候,会携带指令,此时根据指令id,判断是否存在。每辆车,1个小时可能出现100次指令,如果有10W辆车,那就是1千万,1小时1千万数据,存储不太现实,redis支持的key只有2亿。而且指令这种东西,我们收到就可以丢掉了。因为下次也用不到这个指令,如果是做数据分析的话,我们直接把指令记录写到磁盘就行。所以需要设置一个过期时间,当指令过了多久后会自动消失。
短信验证码,也同样可以用redis这样做
代码
set key "hhh"
expire key 30
这段代表30秒后消失
java中
导入依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.2.0</version>
</dependency>
连接
Jedis jedis = new Jedis("192.168.xx.xx");
jedis.auth("TeacherLove~U");//设置了认证就输入密码
//设置个值
jedis.set("1","hh");
//设置1的过期时间
jedis.expire("1",30);
优化理论,我发现我之前是个傻子。这种方法不好,由于电动车他要停止后,才能锁车成功。
而且消费只消费一次,所以我们优化一下。
1.设置过期时间为1小时,3600秒
2.如果终端发送消息来了,我就把这条消息msgId在redis中删除
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献11条内容
所有评论(0)