Redis 数据类型学习笔记

1. String 数据类型

String 是 Redis 中最基本的数据类型,它可以是一个普通的字符串、整数或者浮点数。

1.1 字符串操作命令示例

  • SET key value: 设置 key 的值为 value。
  • GET key: 获取 key 的值。
  • APPEND key value: 将 value 追加到 key 原来的值的末尾。
  • STRLEN key: 获取 key 的值的长度。
  • INCR key: 将 key 中存储的数字值增一。
  • DECR key: 将 key 中存储的数字值减一。

1.2 实例

Copy Code
redis> SET name "redis" OK redis> GET name "redis" redis> APPEND name "-learning" OK redis> GET name "redis-learning" redis> STRLEN name 14 redis> SET num 10 OK redis> INCR num (integer) 11 redis> DECR num (integer) 10

2. Hash 数据类型

Hash 是一个字符串键值对集合,它适用于存储对象。

2.1 Hash 操作命令示例

  • HSET key field value: 设置 key 中的 field 值为 value。
  • HGET key field: 获取 key 中的 field 值。
  • HGETALL key: 获取 key 中所有的 field 和 value。
  • HMSET key field1 value1 field2 value2 ...: 同时设置多个 field-value 对。
  • HDEL key field1 field2 ...: 删除 key 中的一个或多个 field。

2.2 实例

Copy Code
redis> HSET person id 1 (integer) 1 redis> HSET person name "Tom" (integer) 1 redis> HGET person id "1" redis> HGETALL person 1) "id" 2) "1" 3) "name" 4) "Tom" redis> HMSET person age 20 gender "male" OK redis> HDEL person gender (integer) 1

3. List 数据类型

List 是一个有序的字符串列表,它可用于存储多个字符串值。

3.1 List 操作命令示例

  • RPUSH key value1 value2 ...: 在列表右侧插入一个或更多元素。
  • LPUSH key value1 value2 ...: 在列表左侧插入一个或更多元素。
  • LLEN key: 获取列表的长度。
  • LINDEX key index: 获取指定索引位置的元素。
  • LPOP key: 从列表左侧弹出第一个元素。
  • RPOP key: 从列表右侧弹出第一个元素。

3.2 实例

Copy Code
redis> RPUSH fruits apple banana cherry (integer) 3 redis> LLEN fruits (integer) 3 redis> LINDEX fruits 1 "banana" redis> LPOP fruits "apple" redis> RPOP fruits "cherry"

4. Set 数据类型

Set 是一个无序的字符串集合,它可以用于存储成员的唯一性。

4.1 Set 操作命令示例

  • SADD key member1 member2 ...: 添加一个或多个元素到集合中。
  • SMEMBERS key: 获取集合中所有的成员。
  • SISMEMBER key member: 判断 member 是否是集合中的成员。
  • SCARD key: 获取集合中元素的个数。
  • SREM key member1 member2 ...: 从集合中删除一个或多个元素。

4.2 实例

Copy Code
redis> SADD fruits apple banana cherry (integer) 3 redis> SMEMBERS fruits 1) "banana" 2) "apple" 3) "cherry" redis> SISMEMBER fruits apple (integer) 1 redis> SCARD fruits (integer) 3 redis> SREM fruits apple banana (integer) 2

5. Sorted Set 数据类型

Sorted Set 是一个有序的字符串集合,它的每个成员都关联一个分数值。

5.1 Sorted Set 操作命令示例

  • ZADD key score1 member1 score2 member2 ...: 添加元素到有序集合中。
  • ZSCORE key member: 获取有序集合中指定成员的分数。
  • ZRANGE key start stop [WITHSCORES]: 获取有序集合中指定排名范围内的成员。
  • ZREVRANGE key start stop [WITHSCORES]: 获取有序集合中指定排名范围内的成员(按照分数值递减的顺序)。
  • ZCOUNT key min max: 获取有序集合中指定分数范围内成员的数量。

5.2 实例

Copy Code
redis> ZADD scores 80 Tom 90 Jerry 85 Lucy (integer) 3 redis> ZSCORE scores Jerry "90" redis> ZRANGE scores 0 -1 1) "Tom" 2) "Lucy" 3) "Jerry" redis> ZREVRANGE scores 0 -1 WITHSCORES 1) "Jerry" 2) "90" 3) "Lucy" 4) "85" 5) "Tom" 6) "80" redis> ZCOUNT scores 85 90 (integer) 2

以上是 Redis 常用的五种数据类型,它们各自有着不同的特点和应用场景,在实际生产环境中可以灵活使用。