redis中的数据结构

这篇博客详细介绍了 Redis 中的五种核心数据结构:String、List、Set、Hash 和 Zset,分别给出了各种数据结构的使用示例,对于理解 Redis 的存储方式和应用场景非常有帮助。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

String

String 常用命令说明
GET获取存储在给定键中的值
SET设置存储在给定键中的值,可以是字符串、整数或者浮点数
DEL删除给定键值对,使用与所有数据结构类型

eg:

➜  bin ./redis-cli
127.0.0.1:6379> set name qiqj
OK
127.0.0.1:6379> get name
"qiqj"
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379>

List

常用命令说明
RPUSH将指定值push到列表的右端
LPUSH将指定值push到列表的左端
LPOP从列表的左端弹出一个值,病房会被弹出的值
RPOP从列表的有端弹出一个值,病房会被弹出的值
LRANGE获取列表在指定范围内的所有值

eg:

127.0.0.1:6379> lpush user-list qiqj
(integer) 1
127.0.0.1:6379> lpush user-list xiaoming
(integer) 2
127.0.0.1:6379> lindex user-list 0
"xiaoming"
127.0.0.1:6379> lindex user-list 1
"qiqj"
127.0.0.1:6379> rpush user-list xiaobai
(integer) 3
127.0.0.1:6379> lrange user-list 0 -1
1) "xiaoming"
2) "qiqj"
3) "xiaobai"
127.0.0.1:6379> lpop user-list
"xiaoming"
127.0.0.1:6379> lrange user-list 0 -1
1) "qiqj"
2) "xiaobai"

Set

常用命令说明
SADD将指定元素添加到集合
SMEMBERS返回集合包含的所有元素
SISMEMBER检查指定元素是否存在于集合中
SREM如果指定元素存在集合中,则移除这个元素

eg:

127.0.0.1:6379> sadd user-set qiqj
(integer) 1
127.0.0.1:6379> sadd user-set xiaoming
(integer) 1
127.0.0.1:6379> SMEMBERS user-set
1) "xiaoming"
2) "qiqj"
127.0.0.1:6379> SISMEMBER user-set qiqj
(integer) 1
127.0.0.1:6379> SISMEMBER user-set qiq
(integer) 0
127.0.0.1:6379> srem user-set qiq
(integer) 0
127.0.0.1:6379> srem user-set qiqj
(integer) 1
127.0.0.1:6379> SMEMBERS user-set
1) "xiaoming"
127.0.0.1:6379>

Hash

常用命令说明
HSET在散列表中设置给定的键值对
HGET获取散列表中指定键的值
HGETALL获取散列表包含的所有键值对
HDEL如果给定的键在散列表中存在,则移除这个键值对

eg:

127.0.0.1:6379> hset user-hash sex M
(integer) 1
127.0.0.1:6379> hget user-hash name
"qiqj"
127.0.0.1:6379> hget user-hash age
"20"
127.0.0.1:6379> hget user-hash sex
"M"
127.0.0.1:6379> hgetall user-hash
1) "name"
2) "qiqj"
3) "age"
4) "20"
5) "sex"
6) "M"
127.0.0.1:6379> hdel user-hash sexx
(integer) 0
127.0.0.1:6379> hdel user-hash sex
(integer) 1
127.0.0.1:6379> hgetall user-hash
1) "name"
2) "qiqj"
3) "age"
4) "20"

Zset

常用命令说明
ZADD将一个带有给定分数的成员添加到有序集合中
ZRANGE根据元素在有序集合中所处的位置从有序集合里面获取多个元素
ZRANGEBYSCORE获取有序集合在给定分数范围内的所有成员
ZREM如果给定成员存在于有序集合中,则移除这个成员

eg:

127.0.0.1:6379> zadd zset-user 90 qiqj
(integer) 1
127.0.0.1:6379> zadd zset-user 89 xiaoming
(integer) 1
127.0.0.1:6379> zadd zset-user 59 xiaobai
(integer) 1
127.0.0.1:6379> ZRANGE zet-user 0 1
(empty list or set)
127.0.0.1:6379> ZRANGE zet-user 0 1 withscores
(empty list or set)
127.0.0.1:6379> ZRANGE zet-user 0 -1 withscores
(empty list or set)
127.0.0.1:6379> ZRANGE zset-user 0 -1 withscores
1) "xiaobai"
2) "59"
3) "xiaoming"
4) "89"
5) "qiqj"
6) "90"
127.0.0.1:6379> ZRANGE zset-user 0 1 withscores
1) "xiaobai"
2) "59"
3) "xiaoming"
4) "89"
127.0.0.1:6379> ZRANGEBYScore zset-user 0 60 withscores
1) "xiaobai"
2) "59"
127.0.0.1:6379> ZRANGEBYScore zset-user 60 100 withscores
1) "xiaoming"
2) "89"
3) "qiqj"
4) "90"
127.0.0.1:6379> zrem zset-user qiqj
(integer) 1
127.0.0.1:6379> ZRANGE zset-user 0 1 withscores
1) "xiaobai"
2) "59"
3) "xiaoming"
4) "89"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值