常见 Redis 数据结构及其操作详解

阅读时长 6 分钟读完

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

纠错
反馈