GX博客

分享个人 Full-Stack JavaScript 项目开发经验

Redis常用命令介绍

本文将会介绍 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

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

Set 是一系列无序的值,集合的值不能重复。Redis 1.2 开始集合可以设置排序分数。

向集合添加元素(集合不存在时会被自动创建。如果添加元素中包含不存在的元素则返回数字 1,如果全部都已存在则返回数字 0):

SADD friends "Bob" "Amy"

从集合中删除元素:

SREM friends "Amy"

查看集合成员:

SMEMBERS friends

检索集合中是否存在某个值(存在返回数字 1,不存在返回数字 0):

SISMEMBER friends "Amy"

合并两个集合并返回集合所有元素:

SUNION friends family

Hashes

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: 标记一个事务块的开始。
  • EXEC: 执行所有事务块内的命令。
  • DISCARD:取消事务,放弃执行事务块内的所有命令。
  • WATCH:监视一个或多个 key,如果在事务执行之前它们被修改,那么事务将被取消。
  • UNWATCH:取消 WATCH 命令对所有 key 的监视(执行了 EXEC、DISCARD 后就不需要再执行 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 常用的基础命令的全部介绍。

文章关键字:RedisRedis常用命令

版权声明:

本文为博主原创文章,若需转载,须注明出处,添加原文链接。

https://leeguangxing.cn/blog_post_86.html