Redis基础
2023-09-11 14:16:34 时间
Redis的数据结构
Redis支持多种不同的数据结构,包括5种基础数据结构和几种比较复杂的数据,这些数据结构可以满足不同的应用场景。
五种基础数据结构
Redis的通用命令
Redis官网将Redis的命令按照功能划分为15个主题分组,其中,Kyes主题的命令对所有的数据结构都通用,因此,有必要在了解其他数据结构命令前好好学习一下。
keys
keys命令的作用是列出Redis所有的key,该命令的时间复杂度为O(N),N随着Redis中key的数量增加而增加,因此Redis有大量的key,keys命令会执行很长时间,而由于Redis是单线程,某个命令耗费过长时间,则会导致后面的的所有请求无法得到响应,因此,千万不要在生产服务器上使用keys命令。
# key
命令
,
时间复杂度为
O(n)
keys
pattern
#pattern
可为一个包含匹配模式的字符串,可以包含
*,+,?,[a-z]
等模式。
示例
> mset hello_test1>>
keys
hello*
1
)
"hello_test1"
2
)
"hello_test2"
3
)
"helloa"
4
)
"hellob"
>
keys
heelo?
1
)
"helloa"
2
)
"hellob"
>
keys
hello[a-z]
1
)
"helloa"
2
)
"hellob"
exists
exists命令用于判断一个或多个key是否存在,判断多个key时,key之间用空格分隔,exists的返回值为整数,表示当前判断有多少个key是存在的。
# exists
命令,时间复杂度
O(1)
exists
key
[
key
...]
示例
>
set
test1 t1
> exists test1 test2
(
integer
) 1
#
只有一个
key
存在
> exists test3 test3
(
integer
) 0
#key
都不存在
del
del命令用于删除一个或多个key,多个key之间用空格分隔,其返回值为整数,表示成功删除了多少个存在的key,因此,如果只删除一个key,则可以从返回值中判断是否成功,如果删除多个key,则只能得到删除成功的数量。
# del
命令
,
时间复杂度
O(n)
del
key
[
key
...]
示例
>
set
test
t
>
del
test
(integer) 1
>
mset test1 2 test2 1
>
del test1 test2 test3
(integer) 2 #
返回
2
,表示成功删除两个
#
再次删除,返回
0
,因为删除成功个数为
0
>
del test1 test2 test3
(integer) 0
expire,pexpire
expire设置key在多少秒之后过期,pexpire设置key在多少毫秒之后过期,成功返回1,失败返回0。
# expire
命令,时间复杂度为
O(1)
expire
key
seconds
# pexpire
命令,时间复杂度为
O(1)
pexpire
key
milliseconds
示例
> mset
test
test_value test1 test1_value
> expire
test
10
#
设置
10
秒后过期
(
integer
) 1
> pexpire test1_value 10000
#
设置
10000
毫秒
(10s)
后过期
(
integer
) 1
> expire ttt 100
(
integer
) 0
#
不存在的
key
,设置失败,返回
0
ttl,pttl
ttl和pttl命令用于获取key的过期时间,其返回值为整型,代表的意义分为几种情况:
相关文章
- 使用redis做mybaties的二级缓存(1)
- redis安装与使用(windows端)+Redis设置Auth认证保护+redis的管理工具:Redis Desktop Manager
- Redis HyperLogLog
- SpringBoot2.0 基础案例(08):集成Redis数据库,实现缓存管理
- SpringBoot2.0 整合 Redis集群 ,实现消息队列场景
- redis工具类 ----RedisPoolUtil
- Redis 6 新手入门基础篇
- Docker Compose:部署SpringBoot应用(含MySQL,Redis,Nacos,RabbitMQ,Nginx)
- Redis开发运维实践数据操作有序集合操作
- 运维基础——Zabbix 设置Redis监控
- Redis——maven、spring、jedis快速搭建redis工程
- springboot @Cacheable注解实现Redis缓存
- redis的几种数据导入导出方式【转】
- Redis不同数据类型下的基础查询命令
- 限流redis+lua
- redis常用数据类型之列表
- Redis基础之发布订阅(四)
- mq和redis安装
- Redis学习系列七分布式锁
- Redis学习系列三List列表
- 曹工说Redis源码(8)--面试时,redis 内存淘汰总被问,但是总答不好
- 项目中遇到的Redis缓存问题及面试问题总结
- Jedis工具类、适配单个redis以及redis集群
- Redis--五种基础数据结构及应用场景
- Redis--安装与配置(Linux与Windows)