分享个人 Full-Stack JavaScript 项目开发经验
本文将会介绍 Redis 常用的基础命令,它大部分来自于https://try.redis.io/(它是非常好的入门 Redis 基础命令的方式),并对其作一些补充说明。若要了解 Redis 所有的命令说明,请参阅https://redis.io/commands
设置健 namespace:key 的值为 "value":
SET namespace:key "value"
获取键值:
GET namespace:key
检查键的存在性(存在则返回数字 1,不存在返回数字 0):
EXISTS namespace:key
删除键值(删除成功返回数字 1,删除失败放回数字 0):
DEL namespace:key
自增 1(如果健不存在,则会创建它,并设置为 1):
INCR key
指定自增给定数值(相当于自增 + 100,当然也可以指定负值作为自减):
INCRBY key 100
对应自减命令:
DECR key
DECRBY key 100
INCR 等命令是原子性的,可以避免多个客户端同时操作时候,使用 GET 和 SET 自增带来的并发问题。
使用同一命令原子性地设置键值对及有效期(10 秒):
SET namespace:key "value" EX 10
独立设置有效时长:
EXPIRE namespace:key 10
查看键值对的有效期(返回 -1 表示永远不会过期,返回 -2 表示已经过期或者说已经不存在,其它情况返回剩余有效秒数):
TTL namespace:key
设置键值对为永久有效:
PERSIST namespace:key
与之对应的以毫秒为单位的命令如下:
SET namespace:key "value" PX 10000
PEXPIRE namespace:key 10000
PTTL namespace:key
Redis 还支持多种复杂的数据结构。
List 是一系列有序的值。
从列表末尾添加元素(列表不存在时会被自动创建):
RPUSH friends "Alice"
从列表开头添加元素:
LPUSH friends "Bob"
RPUSH 和 LPUSH 还允许同时插入多个元素(LPUSH 会在列表开头倒序插入这些元素):
RPUSH friends "Amy" "Ken" "Lucy"
根据索引列出列表的值(列出索引从 0 到 2的值):
LRANGE friends 0 2
若索引使用负值,表示列举到从末尾开始的第几个元素(列出索引从 0 到 倒数第一个,亦即全部元素):
LRANGE friends 0 -1
从列表中删除第一个元素并返回它:
LPOP friends
从列表中删除最后一个元素并返回它:
RPOP friends
查看列表长度:
LLEN friends
删除整个列表:
DEL friends
Set 是一系列无序的值,集合的值不能重复。Redis 1.2 开始集合可以设置排序分数。
向集合添加元素(集合不存在时会被自动创建。如果添加元素中包含不存在的元素则返回数字 1,如果全部都已存在则返回数字 0):
SADD friends "Bob" "Amy"
从集合中删除元素:
SREM friends "Amy"
查看集合成员:
SMEMBERS friends
检索集合中是否存在某个值(存在返回数字 1,不存在返回数字 0):
SISMEMBER friends "Amy"
合并两个集合并返回集合所有元素:
SUNION friends family
Hashes 用于将一个唯一键映射到多个键值对。
同时映射多个键值对(当然可以只映射一个键值对):
HMSET myhash name "Mary Jones" password "hidden" email "mjones@example.com"
查看所有映射的键值对:
HGETALL myhash
查看某个映射的键值对:
HGET myhash name
删除某个映射的键值对:
HDEL myhash name
Hashes 中的数值处理方式跟简单字符串中的数值一样,可以使用原子方式自增:
HSET user:1000 visits 10
自增 1:
HINCRBY user:1000 visits 1
Redis 的事务操作主要涉及 MULTI、EXEC、DISCARD、WATCH、UNWATCH 五个命令。
执行普通事务:
MULTI
HMSET myhash name "Mary Jones" password "hidden" email "mjones@example.com"
EXPIRE myhash 100
EXEC
监听某些 keys 不变化时执行事务:
WATCH name email
MULTI
INCR times
EXEC
取消事务的执行:
MULTI
INCR times
DISCARD
以上就是关于 Redis 常用的基础命令的全部介绍。