Redis 是一个开源的 Key-Value 存储系统,支持多种数据结构。本文将详细介绍 Redis 中常见的数据结构及其操作,并给出相应的示例代码。
String(字符串)
字符串是 Redis 中最基础的一种数据结构。它可以存储任何类型的数据,例如数字、字母、二进制数据等。字符串的操作也是 Redis 中最简单的操作之一。
常见命令及其解释
SET key value
:设置 key 的值为 value。GET key
:获取 key 的值。MSET key1 value1 key2 value2 ... keyN valueN
:同时设置多个 key 的值。MGET key1 key2 ... keyN
:获取多个 key 的值。
示例代码
-- -------------------- ---- ------- ------ --- ----- ------- -- ------ --- ----- ------- ------ ---- ---- -------- ---- -------- ---- -------- -- ------ ---- ---- ---- ---- -- -------- -- -------- -- --------
List(列表)
列表是 Redis 中一种有序、可重复的数据结构,支持在头部或尾部添加、删除元素。列表可以作为队列(先进先出)或堆栈(后进先出)使用。
常见命令及其解释
LPUSH key value1 [value2 ...]
:在列表的头部添加一个或多个值。RPUSH key value1 [value2 ...]
:在列表的尾部添加一个或多个值。LPOP key
:移除并返回列表头部的值。RPOP key
:移除并返回列表尾部的值。LINDEX key index
:获取列表中指定位置的值。LSET key index value
:设置列表中指定位置的值。LLEN key
:获取列表的长度。LRANGE key start end
:获取列表从 start 到 end 之间的所有值。
示例代码
-- -------------------- ---- ------- ------ ----- ------ ------- - ------ ----- ------ ------- - ------ ----- ------ --- - ------ ---- ------ ------- ------ ---- ------ --- ------ ------ ------ - ------- ------ ---- ------ - ------- -- ------ ------ ------ - -- -- ------- -- -------
Set(集合)
集合是 Redis 中一种不重复的数据结构,不支持元素的顺序。集合常用于存储和处理交集、并集、差集等一系列操作。
常见命令及其解释
SADD key member1 [member2 ...]
:向集合中添加一个或多个成员。SMEMBERS key
:获取集合中的所有成员。SREM key member1 [member2 ...]
:从集合中删除一个或多个成员。SCARD key
:获取集合的长度。SISMEMBER key member
:判断一个成员是否存在于集合中。SUNION key1 [key2 ...]
:返回多个集合的并集。SINTER key1 [key2 ...]
:返回多个集合的交集。SDIFF key1 [key2 ...]
:返回多个集合的差集。
示例代码
-- -------------------- ---- ------- ------ ---- ----- ------- - ------ ---- ----- ------- - ------ ---- ----- ------- - ------ -------- ----- -- ------- -- ------- -- ------- ------ ---- ----- ------- - ------ ----- ----- - ------ --------- ----- ------- - ------ ------ ------ ------ -- ------- -- ------- -- -------
Hash(哈希表)
哈希表是 Redis 中一种键值对的数据结构,可以存储多个键值对。哈希表适用于存储对象,例如用户信息,文章信息等。
常见命令及其解释
HSET key field value
:设置一个键值对。HGET key field
:获取一个键的值。HMSET key field1 value1 [field2 value2 ...]
:设置多个键值对。HMGET key field1 [field2 ...]
:获取多个键的值。HDEL key field1 [field2 ...]
:删除一个或多个键值对。HLEN key
:获取哈希表的键值对数量。HKEYS key
:获取哈希表中所有的键。HVALS key
:获取哈希表中所有的值。
示例代码
-- -------------------- ---- ------- ------ ---- ------ ---- ------- - ------ ---- ------ --- -- - ------ ---- ------ ---- ------- ------ ---- ------ --- ---- ------ ----- ------ ---- ----- --- -- ------- ------- -- ------ ----- ------ ---- --- ------- -- ----- -- ---- -- ------- ------ ---- ------ --- - ------ ---- ------ - ------ ----- ------ -- ------ -- --------- ------ ----- ------ -- ----- -- -------
Zset(有序集合)
有序集合是 Redis 中最为复杂的一种数据结构。它是一个有序的、不重复的数据结构,每个元素都对应着一个分值。有序集合常用于存储分数排名,例如积分排行榜等。
常见命令及其解释
ZADD key score1 member1 [score2 member2 ...]
:添加有序集合中的一个或多个元素。ZREVRANGE key start stop [WITHSCORES]
:获取有序集合中排名在 start 和 stop 之间的元素。ZSCORE key member
:获取某个元素的分值。ZCARD key
:获取有序集合的元素数量。ZREM key member1 [member2 ...]
:从有序集合中删除一个或多个元素。ZINCRBY key increment member
:对某个元素的分值进行增量操作。ZRANK key member
:获取某个元素在有序集合中的排名。
示例代码
-- -------------------- ---- ------- ------ ---- ------ -- ------- - ------ ---- ------ -- ----- - ------ ---- ------ -- --------- - ------ --------- ------ - -- ---------- -- ------- -- ---- -- ----- -- ---- -- --------- -- ---- ------ ------ ------ ----- ---- ------ ---- ------ --------- - ------ ------- ------ -- ----- ---- ------ ----- ------ ----- -
总结
本文介绍了 Redis 中常见的五种数据结构及其操作,并给出了相应的示例代码,通过学习这些内容可以使前端开发者更加熟练地使用 Redis 存储和处理数据。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/647ffa0648841e9894f7d740