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 Coderedis> 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 Coderedis> 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 Coderedis> 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 Coderedis> 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 Coderedis> 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 常用的五种数据类型,它们各自有着不同的特点和应用场景,在实际生产环境中可以灵活使用。