Redis常用命令
Key(键)
Redis keys
命令用于管理Redis中的键(key),以下是使用redis keys
命令的语法。
命令 | 介绍 |
---|---|
DEL key [key ...] | 删除给定的一个或多个 key ,不存在的 key 会被忽略 |
EXISTS key | 检查给定 key 是否存在 |
EXPIRE key seconds | 为给定 key 设置生存时间 |
KEYS pattern | 查找所有符合给定模式 pattern 的 key |
PERSIST key | 移除给定 key 的生存时间,使其永不过期 |
TTL key | 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live) |
TYPE key | 返回 key 所储存的值的类型 |
SCAN cursor [MATCH pattern] [COUNT count] | 用于增量地迭代一批元素 |
String(字符串)
字符串类型的值可以是字符串、数字或者二进制,但值最大不能超过512MB,常用命令:
命令 | 介绍 |
---|---|
APPEND key value | 将 value 追加到 key 原来的值的末尾 |
DECR key | 将 key 中储存的数字值减一 |
DECRBY key decrement | 将 key 所储存的值减去减量 decrement |
GET key | 返回 key 所对应的 value |
GETSET key value | 将给定 key 的值设为 value ,并返回 key 的旧值 |
INCR key | 将 key 中储存的数字值增一 |
INCRBY key increment | 将 key 所储存的值加上增量 increment |
MGET key [key ...] | 返回所有(一个或多个)给定 key 的值 |
MSET key value [key value ...] | 同时设置一个或多个 key-value 对 |
MSETNX key value [key value ...] | 当且当所有给定 key 都不存在时,同时设置一个或多个 key-value 对 |
SET key value [EX seconds] | 设置key和value |
SETEX key seconds value | 设置key和value及存活时间 |
SETNX key value | 当 key 不存在,将 key 的值设为 value |
STRLEN key | 返回 key 所储存的value值的长度 |
Hash(哈希)
Redis 中的 Hash 是一个 String 类型的 field-value(键值对) 的映射表,特别适合用于存储对象,常用命令:
命令 | 介绍 |
---|---|
HDEL key field [field ...] | 删除哈希表 key 中的一个或多个指定字段,不存在的字段将被忽略 |
HEXISTS key field | 查看哈希表 key 中,给定字段 field 是否存在 |
HGET key field | 返回哈希表 key 中给定字段 field 的值 |
HGETALL key | 返回哈希表 key 中,所有的字段和值 |
HINCRBY key field increment | 为哈希表 key 中的字段 field 的值加上增量 increment |
HKEYS key | 返回哈希表 key 中的所有字段 |
HLEN key | 返回哈希表 key 中字段的数量 |
HMGET key field [field ...] | 返回哈希表 key 中,一个或多个给定字段的值 |
HMSET key field value [field value ...] | 同时将多个 field-value (字段-值)对设置到哈希表 key 中 |
HSET key field value | 将哈希表 key 中的字段 field 的值设为 value |
HSETNX key field value | 当字段 field 不存在时,将哈希表 key 中的字段 field 的值设置为 value |
HVALS key | 返回哈希表 key 中所有字段的值 |
List(列表)
Redis列表是简单的字符串列表,按照插入顺序排序,常用命令:
命令 | 介绍 |
---|---|
BLPOP key [key ...] timeout | 它是 LPOP 命令的阻塞版本 |
BRPOP key [key ...] timeout | 它是 RPOP 命令的阻塞版本 |
LINDEX key index | 返回列表 key 中,下标为 index 的元素 |
LINSERT key BEFORE|AFTER pivot value | 将值 value 插入到列表 key 当中,位于值 pivot 之前或之后 |
LLEN key | 返回列表 key 的长度 |
LPOP key | 移除并返回列表 key 的头元素 |
LPUSH key value [value ...] | 将一个或多个值 value 插入到列表 key 的表头 |
LPUSHX key value | 将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表 |
LREM key count value | 根据参数 count 的值,移除列表中与参数 value 相等的元素 |
LSET key index value | 将列表 key 下标为 index 的元素的值设置为 value |
LTRIM key start stop | 对一个列表进行修剪(trim),让列表只保留指定区间内的元素 |
RPOP key | 移除并返回列表 key 的尾元素 |
RPOPLPUSH source destination | 将soure列表的尾元素插入到destination列表的头元素 |
RPUSH key value [value ...] | 将一个或多个值 value 插入到列表 key 的表尾(最右边) |
RPUSHX key value | 将值 value 插入到列表 key 的表尾,当且仅当 key 存在并且是一个列表 |
Set(集合)
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
命令 | 介绍 |
---|---|
SADD key member [member ...] | 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略 |
SCARD key | 返回集合 key 的基数(集合中元素的数量) |
SDIFF key [key ...] | 返回一个集合的全部成员,该集合是所有给定集合之间的差集 |
SINTER key [key ...] | 返回一个集合的全部成员,该集合是所有给定集合的交集 |
SISMEMBER key member | 判断 member 元素是否集合 key 的成员 |
SMEMBERS key | 返回集合 key 中的所有成员 |
SPOP key | 移除并返回集合中的一个随机元素 |
SRANDMEMBER key [count] | 如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素 |
SUNION key [key ...] | 返回一个集合的全部成员,该集合是所有给定集合的并集 |
Zset(有序集合)
Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员,不同的是每个元素都会关联一个 double 类型的分数。
redis 正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复
命令 | 介绍 |
---|---|
ZADD key score member [...] | 将一个或多个 member 元素及其 score 值加入到有序集 key 当中 |
ZCARD key | 返回有序集 key 的元素个数 |
ZCOUNT key min max | 返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量 |
ZINCRBY key increment member | 为有序集 key 的成员 member 的 score 值加上增量 increment |
ZRANK key member | 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序排列 |
ZSCORE key member | 返回有序集 key 中,成员 member 的 score 值 |
BITMAP
命令 | 介绍 |
---|---|
SETBIT key offset value | 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit) |
GETBIT key offset | 对 key 所储存的字符串值,获取指定偏移量上的位(bit) |
BITOP <AND | OR | XOR | NOT> destkey key | 根据关系表达式将对应结果保存到 destkey 中 |
BITCOUNT key | 统计指定 key 中所有值为1的偏移量的数量 |