Redis篇 redis基本命令和定时器原理

基本命令和定时器原理

    • [一. 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.惰性删除

六. 定时器的两种设计方式

  1. 基于优先级队列/堆来实行
  2. 时间轮


七. type命令


相关推荐
SHUIPING_YANG1 分钟前
tp3.1临时连接指定数据库,切片分类in查询,带过滤需要的数据
android·数据库
AA-代码批发V哥22 分钟前
MySQL-DDL语句深度解析与实战指南
数据库·mysql
big狼王25 分钟前
sqlserver存储过程中入参使用JSON
数据库·sqlserver·json
别NULL43 分钟前
《TCP/IP 详解 卷1:协议》第6章:DHCP和自动配置
网络协议·tcp/ip·php
悦数图数据库1 小时前
图数据库如何构筑 Web3 风控防线 | 聚焦批量注册与链上盗转
数据库·web3
gbase_lmax1 小时前
gbase8s数据库获取jdbc/odbc协议的几种方式
数据库
奈斯ing1 小时前
【prometheus+Grafana篇】基于Prometheus+Grafana实现postgreSQL数据库的监控与可视化
运维·数据库·信息可视化·grafana·prometheus
fengfuyao9852 小时前
使用ubuntu串口数据收和发不一致问题
linux·数据库·ubuntu
张童瑶2 小时前
Docker 下备份 Mariadb 数据库文件
数据库·docker·mariadb
Forest_HAHA3 小时前
<8>-MySQL复合查询
数据库·mysql