Key(键)
| 操作 | 命令语句 | 含义 |
|---|
| del | del key[key...] | 删除给定的一个或多个key |
| dump | dump key | 序列化给定的key,并返回被序列化的值 |
| exists | exists key | 检查给定的key是否存在 |
| expire | expire key seconds | 为给定key设置生存时间,当key过期时(生存时间为0),它会被自动删除 |
| expireat | expireat key timestamp | 作用和expire类似,都用于为key设置生存时间。不同在于expireat命令接受的时间参数是UNIX时间戳(unix timestamp) |
| keys | keys pattern | 查找所有符合给定模式pattern的key |
| migrate | migrate host port key destination-db timeout [COPY] [REPLACE] | 将key原子性地从当前实例传送到目标实例的指定数据库上,一旦传送成功,key保证会出现在目标实例上,而当前实例上的 key会被删除 |
| move | move key db | 将当前数据库的key移动到给定数据库db中 |
| object | object subcommand [arguments [arguments]] | object命令允许从内部查看给定 key 的 Redis 对象 |
| persist | persist key | 移除给定 key 的生存时间,将它从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key ) |
| pexpire | pexpire key milliseconds | 与expire命令的作用类似,但它以毫秒为单位设置 key的生存时间,而不像 expire 以秒为单位 |
| pexpireat | pexpireat key milliseconds-timestamp | 与expireat命令类似,但它以毫秒为单位设置 key的过期 unix 时间戳,而不是像 expireat以秒为单位 |
| pttl | pttl key | 与ttl命令类似,但它以毫秒为单位返回key的剩余生存时间,而不像 ttl 以秒为单位 |
| randomkey | randomkey | 从当前数据库中随机返回(不删除)一个 key |
| rename | rename key newkey | 将 key 改名为 newkey |
| renamenx | renamenx key newkey | 当且仅当 newkey 不存在时,将 key 改名为 newkey |
| restore | restore key ttl serialized-value | 反序列化给定的序列化值,并将它和给定的 key 关联 |
| sort | sort key | 排序 |
| ttl | ttl key | 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live) |
| type | type key | 返回 key 所储存的值的类型 |
| scan | scan cursor [MATCH pattern] [COUNT count] | 迭代当前数据库中的数据库键 |
String(字符串)
| 操作 | 命令语句 | 含义 |
|---|
| append | append key value | 如果key存在,将 value 追加到 key原来的值的末尾。若不存在,就简单地将 key设为 value |
| bitcount | bitcount key [start] [end] | 计算给定字符串中,被设置为 1 的比特位的数量 |
| bitop | bitop operation destkey key [key...] | 对一个或多个保存二进制位的字符串key 进行位元操作,并将结果保存到 destkey 上 |
| decr | decr key | 将key中储存的数字值减一 |
| decrby | decrby key decrement | 将 key所储存的值减去减量 decrement |
| get | get key | 返回 key 所关联的字符串值 |
| getbit | getbit key offset | 对 key 所储存的字符串值,获取指定偏移量上的位(bit) |
| getrange | getrange key start end | 返回 key 中字符串值的子字符串,字符串的截取范围包括 start和 end在内) |
| getset | getset key value | 将给定 key 的值设为 value,并返回 key的旧值 |
| incr | incr key | 将 key 中储存的数字值增一 |
| incrby | incrby key increment | 将 key 所储存的值加上增量 increment |
| incrbyfloat | incrbyfloat key increment | 为 key 中所储存的值加上浮点数增量 increment |
| mget | mget key [key...] | 返回所有(一个或多个)给定 key 的值 |
| mset | mset key value [key value...] | 同时设置一个或多个 key-value 对 |
| msetnx | msetnx key value [key value...] | 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在 |
| psetnx | psetnx key milliseconds value | 与setex 命令相似,但它以毫秒为单位设置 key 的生存时间,而不像setex 以秒为单位 |
| set | set key value [EX seconds] [PX milliseconds] [NX/XX] | 将字符串值 value 关联到 key |
| setbit | setbit key offset value | 对 key所储存的字符串值,设置或清除指定偏移量上的位(bit) |
| setex | setex key seconds value | 将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位) |
| setnx | setnx key value | 将 key 的值设为 value ,当且仅当 key 不存在 |
| setrange | setrange key offset value | 用 value 参数覆写给定 key所储存的字符串值,从偏移量 offset 开始 |
| strlen | strlen key | 返回 key 所储存的字符串值的长度 |
Hash(哈希表)
| 操作 | 命令语句 | 含义 |
|---|
| hdel | hdel key field [field...] | 删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略 |
| hexists | hexists key field | 查看哈希表 key 中,给定域 field 是否存在 |
| hget | hget key field | 返回哈希表 key 中给定域 field 的值 |
| hgetall | hgetall key | 返回哈希表key 中,所有的域和值 |
| hincrby | hincrby key field increment | 为哈希表 key 中的域 field 的值加上增量 increment |
| hincrbyfloat | hincrbyfloat key field increment | 为哈希表 key 中的域 field 加上浮点数增量 increment |
| hkeys | hkeys key | 返回哈希表 key 中的所有域 |
| hlen | hlen key | 返回哈希表 key 中域的数量 |
| hmget | hmget key field [field...] | 返回哈希表 key 中,一个或多个给定域的值 |
| hmset | hmset key field value [field value...] | 同时将多个 field-value(域-值)对设置到哈希表 key中。此命令会覆盖哈希表中已存在的域 |
| hset | hset key field value | 将哈希表 key 中的域 field 的值设为 value |
| hsetnx | hsetnx key field value | 将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在 |
| hvals | hvals key | 返回哈希表 key 中所有域的值 |
| hscan | hscan key cursor [MATCH pattern] [COUNT count] | 迭代哈希键中的键值对 |
List(哈希表)
| 操作 | 命令语句 | 含义 |
|---|
| blpop | blpop key [key...] timeout | 移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止 |
| brpop | brpop key [key...] timeout | 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止 |
| brpoplpush | | |
| lindex | lindex key index | 返回列表 key 中,下标为 index 的元素 |
| linsert | linsert key BEFORE/AFTER pivot value | 将值 value 插入到列表 key 当中,位于值 pivot 之前或之后 |
| llen | llen key | 返回列表 key 的长度 |
| lpop | lpop key | 移除并返回列表 key 的头元素 |
| lpush | lpush key value [value...] | 将一个或多个值 value 插入到列表 key 的表头 |
| lpushx | lpushx key value | 将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表 |
| lrange | lrange key start stop | 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定 |
| lrem | lrem key count value | 根据参数 count 的值,移除列表中与参数 value 相等的元素 |
| rpop | rpop key | 移除并返回列表 key 的尾元素 |
| rpoplpush | | |
| rpush | rpush key value [value ...] | 将一个或多个值 value 插入到列表 key 的表尾(最右边) |
| rpushx | rpushx key value | 将值 value 插入到列表 key 的表尾,当且仅当 key 存在并且是一个列表 |
Set(集合)
| 操作 | 命令语句 | 含义 |
|---|
| sadd | sadd key member [member ...] | 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略 |
| scard | scard key | 返回集合 key 的基数(集合中元素的数量) |
| sdiff | sdiff key [key ...] | 返回一个集合的全部成员,该集合是所有给定集合之间的差集。不存在的 key 被视为空集 |
| sdiffstore | sdiffstore destination key [key ...] | 作用与 sdiff 类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。若destination 集合已存在,则覆盖 |
| sinter | sinter key [key ...] | 返回一个集合的全部成员,该集合是所有给定集合的交集。不存在的 key 被视为空集 |
| sinterstore | sinterstore destination key [key ...] | 类似于 SINTER命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。若destination集合已经存在,则将其覆盖 |
| sismember | sismember key member | 判断 member 元素是否集合 key 的成员 |
| smembers | smembers key | 返回集合 key 中的所有成员 |
| smove | smove source destination member | 将 member 元素从 source 集合移动到 destination 集合 |
| spop | spop key | 移除并返回集合中的一个随机元素 |
| srandmember | srandmember key [count] | 如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素 |
| srem | srem key member [member ...] | 移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略 |
| sunion | sunion key [key ...] | 返回一个集合的全部成员,该集合是所有给定集合的并集 |
| sunionstore | sunionstore destination key [key...] | 类似于sunion 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。若destination已存在,则将其覆盖 |
| sscan | sscan key cursor [MATCH pattern] [COUNT count] | 迭代集合键中的元素 |
SortedSet(有序集合)
| 操作 | 命令语句 | 含义 |
|---|
| zadd | zadd key score member [[score member] [score member] ...] | 将一个或多个 member 元素及其 score 值加入到有序集 key 当中。如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值 |
| zcard | zcard key | 返回有序集 key 的基数 |
| zcount | zcount key min max | 返回有序集 key 中,score值在 min 和 max 之间(min,max包括在内)的成员的数量 |
| zincrby | zincrby key increment member | 为有序集 key 的成员 member 的 score 值加上增量 increment |
| zrange | zrange key start stop [WITHSCORES] | 返回有序集 key中,指定区间内的成员。其中成员的位置按 score 值递增来排序 |
| zrangebyscore | zrangebyscore key min max [WITHSCORES] [LIMIT offset count] | 返回有序集 key中,所有score值介于 min 和 max 之间(包括min、max在内)的成员。有序集成员按 score 值递增排列 |
| zrank | zrank key member | 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递增排列 |
| zrem | zrem key member [member ...] | 移除有序集 key 中的一个或多个成员 |
| zremrangebyrank | zremrangebyrank key start stop | 移除有序集 key 中,指定排名区间内的所有成员(start、stop包含在内) |
| zremrangebyscore | zremrangebyscore key min max | 移除有序集 key 中,所有 score 值介于 min 和 max 之间的成员 |
| zrevrange | zrevrange key start stop [WITHSCORES] | 返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递减排列 |
| zrevrangebyscore | zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count] | 返回有序集 key 中,score 值介于 max 和 min 之间(包括min、max在内)的所有的成员。有序集成员按 score 值递减排列 |
| zrevrank | zrevrank key member | 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递减排序 |
| zscore | zscore key member | 返回有序集 key 中,成员 member 的 score 值 |
| zunionstore | zunionstore destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM/MIN/MAX] | 计算给定的一个或多个有序集的并集,其中给定 key 的数量必须以 numkeys 参数指定,并将该并集(结果集)储存到 destination |
| zinterstore | zinterstore destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM/MIN/MAX] | 计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)储存到 destination |
| zscan | zscan key cursor [MATCH pattern] [COUNT count] | 迭代有序集合中的元素(包括元素成员和元素分值) |
Pub/Sub(发布/订阅)
| 操作 | 命令语句 | 含义 |
|---|
| psubscribe | psubscribe pattern [pattern ...] | 订阅一个或多个符合给定模式的频道 |
| publish | publish channel message | 将信息 message 发送到指定的频道 channel |
| pubsub | pubsub [argument [argument ...]] | pubsub 是一个查看订阅与发布系统状态的内省命令 |
| punsubscribe | punsubscribe [pattern [pattern ...]] | 指示客户端退订所有给定模式 |
| subscribe | subscribe channel [channel ...] | 订阅给定的一个或多个频道的信息 |
| unsubscribe | unsubscribe [channel [channel ...]] | 指示客户端退订给定的频道 |
Transaction(事务)
| 操作 | 命令语句 | 含义 |
|---|
| discard | discard | 取消事务,放弃执行事务块内的所有命令 |
| exec | exec | 执行所有事务块内的命令 |
| multi | multi | 标记一个事务块的开始 |
| unwatch | unwatch | 取消 watch 命令对所有 key 的监视 |
| watch | watch key [key ...] | 监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断 |
Script(脚本)
| 操作 | 命令语句 | 含义 |
|---|
| eval | | |
| evalsha | | |
| script exists | | |
| script flush | | |
| script kill | | |
| script load | | |
Connection(连接)
| 操作 | 命令语句 | 含义 |
|---|
| auto | auto password | 通过设置配置文件中requirepass 项的值(使用命令 CONFIG SET requirepass password),可以使用密码来保护 Redis 服务器 |
| echo | echo message | 打印一个特定的信息 message ,测试时使用 |
| ping | ping | 使用客户端向 Redis 服务器发送一个 PING,如果服务器运作正常的话,会返回一个PONG。通常用于测试与服务器的连接是否仍然生效,或者用于测量延迟值 |
| quit | quit | 请求服务器关闭与当前客户端的连接。一旦所有等待中的回复(如果有的话)顺利写入到客户端,连接就会被关闭 |
| select | select index | 切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。默认使用 0 号数据库 |
Server(服务器)
| 操作 | 命令语句 | 含义 |
|---|
| bgrewriteaof | bgrewriteaof | 用于手动触发重写操作 |
| bgsave | bgsave | 在后台异步保存当前数据库的数据到磁盘 |
| client getname | client name | 返回client name 命令为连接设置的名字 |
| client kill | client kill ip:port | 关闭地址为 ip:port 的客户端 |
| client list | client list | 以人类可读的格式,返回所有连接到服务器的客户端信息和统计数据 |
| client setname | client setname connection-name | 为当前连接分配一个名字 |
| config get | config get parameter | 用于取得运行中的 Redis 服务器的配置参数 |
| config resetstat | config resetstat | 重置 info 命令中的某些统计数据 |
| config rewrite | config rewrite | 对启动 Redis 服务器时所指定的 redis.conf 文件进行改写 |
| config set | config set parameter value | 可以动态地调整 Redis 服务器的配置而无须重启 |
| besize | besize | 返回当前数据库的 key 的数量 |
| debug object | debug object key | debug object是一个调试命令,它不应被客户端所使用。查看object命令获取更多信息 |
| debug segfault | debug segfault | 执行一个不合法的内存访问从而让 Redis 崩溃,仅在开发时用于 BUG 模拟 |
| flushall | flushall | 清空整个 Redis 服务器的数据(删除所有数据库的所有 key ) |
| flushdb | flushdb | 清空当前数据库中的所有 key |
| info | info [section] | 以一种易于解释且易于阅读的格式,返回关于 Redis 服务器的各种信息和统计数值。通过给定可选的参数 section ,可以让命令只返回某一部分的信息 |
| lastsave | lastsave | 返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示 |
| monitor | monitor | 实时打印出 Redis 服务器接收到的命令,调试用 |
| psync | psync <MASTER_RUN_ID> | 用于复制功能的内部命令 |
| save | save | 执行一个同步保存操作,将当前 Redis 实例的所有数据快照以 RDB 文件的形式保存到硬盘 |
| shutdown | shutdown | 停止、关闭 |
| slaveof | slaveof host port | slaveof命令用于在 Redis 运行时动态地修改复制功能的行为 |
| slowlog | slowlog | 是用来记录查询执行时间的日志系统 |
| sync | sync | 用于复制功能(replication)的内部命令 |
| time | time | 返回当前服务器时间 |
参考:Redis 命令参考 — Redis 命令参考 (redisfans.com)