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命令


相关推荐
zfj32113 分钟前
H2数据库源码学习+debug, 数据库 sql、数据库引擎、数据库存储从此不再神秘
java·数据库·sql·学习·数据库底层原理
编程、小哥哥1 小时前
Java面试实战:从Spring Boot到分布式缓存的深度探索
java·spring boot·redis·微服务·grpc·缓存技术·面试技巧
小赵面校招2 小时前
Redis企业级开发实战:核心应用场景与最佳实践
数据库·redis·缓存
pp-周子晗(努力赶上课程进度版)2 小时前
【MYSQL】基本查询,表的增删查改
数据库·mysql
英英_2 小时前
详细介绍一下Python连接MySQL数据库的完整步骤
数据库·python·mysql
LabVIEW开发3 小时前
LabVIEW数据库使用说明
数据库·sql·labview知识
Python智慧行囊4 小时前
Python Django 的 ORM 编程思想及使用步骤
数据库·python·django·orm
南方以南_4 小时前
【云实验】Excel文件转存到RDS数据库
数据库·excel
搞不懂语言的程序员5 小时前
如何设计一个二级缓存(Redis+Caffeine)架构?Redis 6.0多线程模型如何工作?
redis·架构·wpf
Listennnn5 小时前
Neo4j数据库
数据库·人工智能·neo4j