前言
好记性不如烂键盘,大家一起跟着敲吧! 😁😁😁
开敲!
一、基础命令
-
SET key value
- 用途:设置一个 key 对应的 value 值。如果 key 已经存在,则更新其对应的 value 值。
- 例子:
SET user:1000 "Tom",设置 key 为 "user:1000",其对应的 value 为 "Tom"。
-
GET key
- 用途:获取一个 key 对应的 value 值。
- 例子:
GET user:1000,获取 key 为 "user:1000" 对应的 value 值。
-
DEL key [key ...]
- 用途:删除一个或多个 key。
- 例子:
DEL user:1000,删除 key 为 "user:1000" 的键值对。
-
EXISTS key [key ...]
- 用途:检查一个或多个 key 是否存在。
- 例子:
EXISTS user:1000,检查 key 为 "user:1000" 的 key 是否存在。
-
KEYS pattern
- 用途:查找所有符合给定模式的 key。
- 例子:
KEYS user:*,查找所有以 "user:" 开头的 key。
-
EXPIRE key seconds
- 用途:为 key 设置一个过期时间(秒),当 key 过期后,其对应的 value 将自动删除。
- 例子:
EXPIRE user:1000 60,设置 key 为 "user:1000" 的过期时间为 60 秒。
-
TTL key
- 用途:获取 key 的剩余生存时间(秒)。
- 例子:
TTL user:1000,获取 key 为 "user:1000" 的剩余生存时间。
二、列表相关命令
-
LPUSH key value [value ...]
- 用途:将一个或多个值插入到列表头部。
- 例子:
LPUSH mylist "a" "b" "c",在列表 "mylist" 的头部插入值 "a"、"b" 和 "c"。
-
RPUSH key value [value ...]
- 用途:将一个或多个值插入到列表尾部。
- 例子:
RPUSH mylist "d" "e" "f",在列表 "mylist" 的尾部插入值 "d"、"e" 和 "f"。
-
LRANGE key start stop
- 用途:获取列表指定范围的元素。
- 例子:
LRANGE mylist 0 -1,获取列表 "mylist" 中所有的元素。
-
LREM key count value
- 用途:从列表中删除指定的值。
- 例子:
LREM mylist 2 "b",从列表 "mylist" 中删除前两个值为 "b" 的元素。
-
LPOP key
- 用途:移除并获取列表的第一个元素。
- 例子:
LPOP mylist,移除并返回列表 "mylist" 的第一个元素。
-
RPOP key
- 用途:移除并获取列表的最后一个元素。
- 例子:
RPOP mylist,移除并返回列表 "mylist" 的最后一个元素。
三、集合相关命令
-
SADD key member [member ...]
- 用途:向集合添加一个或多个成员。
- 例子:
SADD myset "apple" "banana" "orange",向集合 "myset" 添加成员 "apple"、"banana" 和 "orange"。
-
SMEMBERS key
- 用途:获取集合的所有成员。
- 例子:
SMEMBERS myset,获取集合 "myset" 的所有成员。
-
SISMEMBER key member
- 用途:检查成员是否是集合的成员。
- 例子:
SISMEMBER myset "apple",检查 "apple" 是否是集合 "myset" 的成员。
-
SREM key member [member ...]
- 用途:从集合中移除一个或多个成员。
- 例子:
SREM myset "banana",从集合 "myset" 中移除成员 "banana"。
四、哈希表相关命令
-
HSET key field value
- 用途:为一个哈希表设置字段的值。如果字段已存在,则更新其值;如果字段不存在,则新增该字段。
- 例子:
HSET user:1000 name "Tom",在哈希表 "user:1000" 中设置字段 "name" 的值为 "Tom"。
-
HGET key field
- 用途:获取哈希表中指定字段的值。
- 例子:
HGET user:1000 name,获取哈希表 "user:1000" 中字段 "name" 的值。
-
HGETALL key
- 用途:获取哈希表中所有的字段和值。
- 例子:
HGETALL user:1000,获取哈希表 "user:1000" 中所有的字段和值。
-
HDEL key field [field ...]
- 用途:删除哈希表中的一个或多个字段。
- 例子:
HDEL user:1000 name,删除哈希表 "user:1000" 中的字段 "name"。
-
HLEN key
- 用途:获取哈希表中字段的数量。
- 例子:
HLEN user:1000,获取哈希表 "user:1000" 中字段的数量。
-
HEXISTS key field
- 用途:检查哈希表中字段是否存在。
- 例子:
HEXISTS user:1000 name,检查哈希表 "user:1000" 中是否存在字段 "name"。
五、有序集合相关命令
-
ZADD key score member [score member ...]
- 用途:向有序集合添加一个或多个成员,或者更新已存在成员的分数。
- 例子:
ZADD mysortedset 1 "one" 2 "two" 3 "three",向有序集合 "mysortedset" 添加成员 "one"、"two" 和 "three",并分别设置它们的分数为 1、2 和 3。
-
ZRANGE key start stop [WITHSCORES]
- 用途:获取有序集合中指定范围的成员。加上
WITHSCORES可以同时获取成员的分数。 - 例子:
ZRANGE mysortedset 0 -1 WITHSCORES,获取有序集合 "mysortedset" 中所有的成员及其分数。
- 用途:获取有序集合中指定范围的成员。加上
-
ZREM key member [member ...]
- 用途:从有序集合中移除一个或多个成员。
- 例子:
ZREM mysortedset "two",从有序集合 "mysortedset" 中移除成员 "two"。
-
ZRANK key member
- 用途:获取成员在有序集合中的排名(按分数从小到大)。
- 例子:
ZRANK mysortedset "one",获取成员 "one" 在有序集合 "mysortedset" 中的排名。
-
ZSCORE key member
- 用途:获取成员在有序集合中的分数。
- 例子:
ZSCORE mysortedset "one",获取成员 "one" 在有序集合 "mysortedset" 中的分数。
六、发布/订阅模型相关命令
-
SUBSCRIBE channel [channel ...]
- 用途:订阅一个或多个频道。
- 例子:
SUBSCRIBE news,订阅名为 "news" 的频道。
-
PUBLISH channel message
- 用途:向指定的频道发布消息。
- 例子:
PUBLISH news "Latest news update",向 "news" 频道发布消息 "Latest news update"。
-
UNSUBSCRIBE [channel ...]
- 用途:取消订阅一个或多个频道,或者取消所有频道的订阅。
- 例子:
UNSUBSCRIBE news,取消订阅名为 "news" 的频道。
最后
以上仅是 Redis 的一些常用命令,实际上 Redis 还提供了许多其他命令和功能,如事务、Lua 脚本、管道等,这些在实际应用中也是非常重要的。有需要的话大家可以结合 Redis 的官方文档进行深入学习和实践。