基本命令和定时器原理
-
- [一. exists命令](#一. exists命令)
- [二. del命令](#二. del命令)
- [三. Expire命令](#三. Expire命令)
- [四. ttl命令](#四. ttl命令)
- [五. redis的过期策略](#五. redis的过期策略)
- [六. 定时器的两种设计方式](#六. 定时器的两种设计方式)
- [七. type命令](#七. type命令)
一. exists命令
用来判断key的值是否存在
返回值是key的个数
这样写的话,有没有什么区别呢?
效率变低,消耗资源变多。
redis本身是通过网络进行通信的,那么有更多的网络通信轮次,势必会消耗更多的资源,效率低下。
二. del命令
三. Expire命令
在设置了秒级的过期时间之后,再查询相应的key1,就会发现已经没有了。
此处的返回值。必须是key已经存在,成功返回1,失败返回0.
四. ttl命令
返回结果如果为-2 则表示key不存在
返回结果如果是-1,则没有关联过期时间
五. redis的过期策略
一个redis中可能会存在很多很多的key,那么我们是无法及时删除的,可能有很大一部分key都有过期时间,此时redis怎么知道哪些过期了该删除,哪些不该删除呢?
redis提供了两种方式1.定期删除
2.惰性删除
六. 定时器的两种设计方式
- 基于优先级队列/堆来实行
- 时间轮
七. type命令