本文将深入探讨Redis的五种主要数据类型与常用命令,通过示例的方式,让大家直观掌握 Redis原生命令的使用。
一、字符串(String)
字符串是 Redis 中最基本的数据类型。它可以存储任何形式的字符串,包括二进制数据。一个键最大能存储 512MB 的数据。
SET key value
:将指定的键 key
设置为对应的值 value
,用于创建或更新一个字符串类型的键值对。
GET key
:获取指定键 key
对应的值,若键不存在则返回 nil
。
INCR key
:将键 key
对应的值递增 1。如果键不存在,会先将其初始化为 0,然后再执行递增操作。此命令仅适用于值为数字字符串的情况。
DECR key
:与 INCR
相反,将键 key
对应的值递减 1。同样,若键不存在,会先初始化为 0 再进行递减。
SET name "redis"
GET name
SET counter 5
DECR counter
二、哈希(Hash)
哈希类型用于存储对象,它将字段和值映射起来,类似于Python中的字典。适合存储用户信息、配置参数等结构化数据。
HSET key field value
:在指定的哈希表 key
中,设置字段 field
为对应的值 value
。可用于创建新的字段值对,或者更新已存在字段的值。
HGET key field
:从指定的哈希表 key
中,获取字段 field
对应的值。若哈希表或字段不存在,返回 nil
。
HGETALL key
:获取指定哈希表 key
中的所有字段和值,以键值对的形式返回。
HDEL key field [field...]
:从指定的哈希表 key
中,删除一个或多个指定的字段。
HSET user:1 name "redis" age 30
HGET user:1 name
HGETALL user:1
HDEL user:1 age
三、列表(List)
列表是一个有序的字符串元素集合。可以从列表的两端插入或删除元素,常用于实现消息队列、排行榜等功能。
LPUSH key value [value...]
:将一个或多个值依次插入到列表 key
的头部(左侧)。插入后,新元素成为列表的第一个元素。
RPUSH key value [value...]
:将一个或多个值依次插入到列表 key
的尾部(右侧)。插入后,新元素成为列表的最后一个元素。
LPOP key
:移除并返回列表 key
的第一个元素(头部元素)。若列表为空,返回 nil
。
RPOP key
:移除并返回列表 key
的最后一个元素(尾部元素)。若列表为空,返回 nil
。
LRANGE key start stop
:获取列表 key
中指定范围内的元素。start
和 stop
为索引值,包含两端的元素。索引从 0 开始,若 stop
为 -1
,表示取到列表的最后一个元素。
LPUSH mylist "apple" "banana"
RPUSH mylist "cherry"
LPOP mylist
RPOP mylist
LRANGE mylist 0 1
四、集合(Set)
集合是一个无序的字符串元素集合,并且集合中的元素是唯一的。常被用于去重、交集、并集、差集等操作。
SADD key member [member...]
:向集合 key
中添加一个或多个成员。若成员已存在于集合中,则不会重复添加。
SMEMBERS key
:返回集合 key
中的所有成员,成员顺序是无序的。
SISMEMBER key member
:判断成员 member
是否存在于集合 key
中。若存在,返回 1
;否则返回 0
。
SINTER key [key...]
:返回多个集合的交集。即返回同时存在于所有给定集合中的成员。
SUNION key [key...]
:返回多个集合的并集。包含所有给定集合中的所有成员,重复成员只会出现一次。
SDIFF key [key...]
:返回多个集合的差集。以第一个集合为基准,返回在第一个集合中但不在其他集合中的成员。
SADD myset "red" "green"
SMEMBERS myset
SISMEMBER myset "red"
SINTER myset set2
SUNION myset set2
SDIFF myset set2
五、有序集合(Sorted Set)
有序集合和集合类似,但每个元素都会关联一个分数(score),Redis 通过分数来对元素进行排序。适用于实现排行榜、按权重排序等场景。
ZADD key score member [score member...]
:向有序集合 key
中添加一个或多个成员,并为每个成员关联一个分数 score
。若成员已存在,则会更新其分数。
ZRANGE key start stop [WITHSCORES]
:返回有序集合 key
中指定范围内的成员。成员按分数从小到大排序。start
和 stop
为索引值,包含两端的元素。若使用 WITHSCORES
选项,会同时返回成员及其对应的分数。
ZREVRANGE key start stop [WITHSCORES]
:与 ZRANGE
相反,返回有序集合 key
中指定范围内的成员,但成员按分数从大到小排序。同样,WITHSCORES
选项可用于同时返回成员及其分数。
ZSCORE key member
:返回有序集合 key
中指定成员 member
对应的分数。若成员不存在,返回 nil
。
ZADD leaderboard 100 "user1" 200 "user2"
ZRANGE leaderboard 0 1 WITHSCORES
ZREVRANGE leaderboard 0 1 WITHSCORES
ZSCORE leaderboard "user2"
← 上一篇 Java进阶——常用类及常用方法详解 |
记得点赞、关注、收藏哦!
| 下一篇 Java进阶——数组超详细整理 → |