编号 命令 描述
1 DEL key 此命令删除一个指定键(如果存在)。
2 DUMP key 此命令返回存储在指定键的值的序列化版本。
3 EXISTS key 此命令检查键是否存在。
4 EXPIRE key seconds 设置键在指定时间秒数之后到期/过期。
5 EXPIREAT key timestamp 设置在指定时间戳之后键到期/过期。 这里的时间是Unix时间戳格式。
6 PEXPIRE key milliseconds 设置键的到期时间(以毫秒为单位)。
7 PEXPIREAT key milliseconds-timestamp 以Unix时间戳形式来设置键的到期时间(以毫秒 为单位)。
8 KEYS pattern 查找与指定模式匹配的所有键。
9 MOVE key db 将键移动到另一个数据库。
10 PERSIST key 删除指定键的过期时间,得永生。
11 PTTL key 获取键的剩余到期时间。
12 RANDOMKEY 从Redis返回一个随机的键。
13 RENAME key newkey 更改键的名称。
14 PTTL key 获取键到期的剩余时间(以毫秒为单位)。
15 RENAMENX key newkey 如果新键不存在,重命名键。
16 TYPE key 返回存储在键中的值的数据类型。
字符串命令
1、SET key value:此命令设置指定键的值。
2、GET key:获取指定键的值。
3、GETRANGE key start end:获取存储在键上的字符串的子字符串。
4、GETSET key value:设置键的字符串值并返回其旧值。
5、GETBIT key offset:返回在键处存储的字符串值中偏移处的位值。
6、MGET key1 [key2..]:获取所有给定键的值
7、SETBIT key offset value:存储在键上的字符串值中设置或清除偏移处的位
8、SETEX key seconds value:使用键和到期时间来设置值
9、SETNX key value:设置键的值,仅当键不存在时
10、SETRANGE key offset value:在指定偏移处开始的键处覆盖字符串的一部分
11、STRLEN key:获取存储在键中的值的长度
12、MSET key value [key value …]:为多个键分别设置它们的值
13、MSETNX key value [key value …]:为多个键分别设置它们的值,仅当键不存在时
14、PSETEX key milliseconds value:设置键的值和到期时间(以毫秒为单位)
15、INCR key:将键的整数值增加1
16、INCRBY key increment:将键的整数值按给定的数值增加
17、INCRBYFLOAT key increment:将键的浮点值按给定的数值增加
18、DECR key:将键的整数值减1
19、DECRBY key decrement:按给定数值减少键的整数值
20、APPEND key value:将指定值附加到键
散列/哈希
Redis Hashes是字符串字段和字符串值之间的映射(类似于PHP中的数组类型)。 因此,它们是表示对象的完美数据类型。
1、HDEL key field2 [field2]:删除一个或多个哈希字段。
2、HEXISTS key field:判断是否存在散列字段。
3、HGET key field:获取存储在指定键的哈希字段的值。
4、HGETALL key:获取存储在指定键的哈希中的所有字段和值
5、HINCRBY key field increment:将哈希字段的整数值按给定数字增加
6、HINCRBYFLOAT key field increment:将哈希字段的浮点值按给定数值增加
7、HKEYS key:获取哈希中的所有字段
8、HLEN key:获取散列中的字段数量
9、HMGET key field1 [field2]:获取所有给定哈希字段的值
10、HMSET key field1 value1 [field2 value2 ]:为多个哈希字段分别设置它们的值
11、HSET key field value:设置散列字段的字符串值
12、HSETNX key field value:仅当字段不存在时,才设置散列字段的值
13、HVALS key:获取哈希中的所有值
列表
Redis列表只是字符串列表,按插入顺序排序。可以在列表的头部或尾部添加Redis列表中的元素。
列表的最大长度为2^32 - 1个元素(即4294967295,每个列表可存储超过40亿个元素)。
1、BLPOP key1 [key2 ] timeout:删除并获取列表中的第一个元素,或阻塞,直到有一个元素可用
2、BRPOP key1 [key2 ] timeout:删除并获取列表中的最后一个元素,或阻塞,直到有一个元素可用
3、BRPOPLPUSH source destination timeout:从列表中弹出值,将其推送到另一个列表并返回它; 或阻塞,直到一个可用
4、LINDEX key index:通过其索引从列表获取元素
5、LINSERT key BEFORE/AFTER pivot value:在列表中的另一个元素之前或之后插入元素
6、LLEN key:获取列表的长度
7、LPOP key:删除并获取列表中的第一个元素
8、LPUSH key value1 [value2]:将一个或多个值添加到列表
9、LPUSHX key value:仅当列表存在时,才向列表添加值
10、LRANGE key start stop:从列表中获取一系列元素
11、LREM key count value:从列表中删除元素
12、LSET key index value:通过索引在列表中设置元素的值
13、LTRIM key start stop:修剪列表的指定范围
14、RPOP key:删除并获取列表中的最后一个元素
15、RPOPLPUSH source destination:删除列表中的最后一个元素,将其附加到另一个列表并返回
16、RPUSH key value1 [value2]:将一个或多个值附加到列表
17、RPUSHX key value:仅当列表存在时才将值附加到列表
集合
Redis集合是唯一字符串的无序集合。 唯一值表示集合中不允许键中有重复的数据。
在Redis中设置添加,删除和测试成员的存在(恒定时间O(1),而不考虑集合中包含的元素数量)。列表的最大长度为2^32 - 1个元素(即4294967295,每组集合超过40亿个元素)。
1、SADD key member1 [member2]:将一个或多个成员添加到集合
2、SCARD key:获取集合中的成员数
3、SDIFF key1 [key2]:减去多个集合(求差集)
4、SDIFFSTORE destination key1 [key2]:减去多个集并将结果集存储在键中
5、SINTER key1 [key2]:相交多个集合(求交集)
6、SINTERSTORE destination key1 [key2]:交叉多个集合并将结果集存储在键中
7、SISMEMBER key member:判断确定给定值是否是集合的成员
8、SMOVE source destination member:将成员从一个集合移动到另一个集合
9、SPOP key:从集合中删除并返回随机成员
10、SRANDMEMBER key [count]:从集合中获取一个或多个随机成员
11、SREM key member1 [member2]:从集合中删除一个或多个成员
12、SUNION key1 [key2]:添加多个集合
13、SUNIONSTORE destination key1 [key2]:添加多个集并将结果集存储在键中
14、SSCAN key cursor [MATCH pattern] [COUNT count]:递增地迭代集合中的元素
15、SMEMBERS key:遍历整个集合
可排序集合
Redis可排序集合类似于Redis集合,是不重复的字符集合。 不同之处在于,排序集合的每个成员都与分数相关联,这个分数用于按最小分数到最大分数来排序的排序集合。虽然成员是唯一的,但分数值可以重复。
1、ZADD key score1 member1 [score2 member2] :向有序集合添加一个或多个成员,或者更新已存在成员的分数
2、ZCARD key :获取有序集合的成员数
3、ZCOUNT key min max: 计算在有序集合中指定区间分数的成员数
4、ZINCRBY key increment member :有序集合中对指定成员的分数加上增量 increment
5、ZINTERSTORE destination numkeys key [key ...] :计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中
6、ZLEXCOUNT key min max: 在有序集合中计算指定字典区间内成员数量
7、ZRANGE key start stop [WITHSCORES] :通过索引区间返回有序集合成指定区间内的成员
8、ZRANGEBYLEX key min max [LIMIT offset count] :通过字典区间返回有序集合的成员
9、ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] :通过分数返回有序集合指定区间内的成员
10、ZRANK key member :返回有序集合中指定成员的索引
11、ZREM key member [member ...] :移除有序集合中的一个或多个成员
12、ZREMRANGEBYLEX key min max :移除有序集合中给定的字典区间的所有成员
13、ZREMRANGEBYRANK key start stop: 移除有序集合中给定的排名区间的所有成员
14、ZREMRANGEBYSCORE key min max :移除有序集合中给定的分数区间的所有成员
15、ZREVRANGE key start stop [WITHSCORES] :返回有序集中指定区间内的成员,通过索引,分数从高到底
16、ZREVRANGEBYSCORE key max min [WITHSCORES] :返回有序集中指定分数区间内的成员,分数从高到低排序
17、ZREVRANK key member: 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
18、ZSCORE key member :返回有序集中,成员的分数值
19、ZUNIONSTORE destination numkeys key [key ...] :计算给定的一个或多个有序集的并集,并存储在新的 key 中
20、ZSCAN key cursor [MATCH pattern] [COUNT count] :迭代有序集合中的元素(包括元素成员和元素分值)
HyperLogLog
Redis 在 2.8.9 版本添加了 HyperLogLog 结构。
Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。
在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。
但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。
什么是基数?
比如数据集 {1, 3, 5, 7, 5, 7, 8}, 那么这个数据集的基数集为 {1, 3, 5 ,7, 8}, 基数(不重复元素)为5。 基数估计就是在误差可接受的范围内,快速计算基数。
1、PFADD key element [element ...]:添加指定元素到 HyperLogLog 中。
2、PFCOUNT key [key ...]:返回给定 HyperLogLog 的基数估算值。
3、PFMERGE destkey sourcekey [sourcekey ...]:将多个 HyperLogLog 合并为一个 HyperLogLog