| KEYS pattern | 获得符合规则的健名列表 |
| EXISTS key | 判断一个键是否存在 |
| DEL key [key …] | 删除键(不支持通配符) |
| TYPE key | 获得键值的数据类型。返回值可能是string(字符串类型)、hash(散列类型)、list(列表类型)、set(集合类型)、zset(有序集合类型) |
字符串操作 | SET key value GET key | 字符串类型赋值和取值 |
| INCR key INCRBY key increment
| 增加、增加指定的整数 |
| DECR key DECRBY key decrement | 减少、减少指定的整数 |
| INCRBYFLOAT key increment | 增加指定的浮点数 |
| APPEND key value | 向尾部追加值 |
| STRLEN key | 获取字符串长度 |
| MGET key [key ...] MSET key value [key value ...] | 同时获得/设置多个键值 |
| GETBIT key offset SETBIT key offset value BITCOUNT key [start] [end] BITOP operation destkey key [key ...] | 位操作。BITOP命令可以对多个字符串类型键进行位操作,并将结果存储在destkey参数指定的键中。BITOP命令支持的运算操作有AND、OR、XOR和NOT。 |
散列表操作 | HSET key field value HGET key field HMSET key field value [field value ...] HMGET key field [field ...] HGETALL key | 散列类型赋值和取值 |
| HEXISTS key field | 判断字段是否存在 |
| HSETNX key field value | 当字段不存在时赋值 |
| HINCRBY key field increment | 增加数字 |
| HDEL key field [field ...] | 删除字段 |
| HKEYS key HVALS key | 只获取字段名或字段值 |
| HLEN key | 获得字段数量 |
列表操作 | LPUSH key value [value ...] RPUSH key value [value ...] | 向列表两端添加元素 |
| LPOP key RPOP key BLPOP key [key ...] timeout(s) BRPOP key [key ...] timeout(s) | 从列表两端弹出元素 BLPOP/BRPOP是阻塞式,同时检测多个键,如果所有键都没有元素则阻塞,如果其中有一个键有元素则会从该键中弹出元素,返回值为键名和对应的元素值。如果多个键都有元素则按照从左到右的顺序取第一个键中的一个元素 |
| LLEN key | 获取列表中元素个数 |
| LRANGE key start stop | 获得列表片段(索引从0开始,支持负值,-1表示最右边第一个元素) |
| LREM key count value | 删除列表中指定的值。LREM命令会删除列表中前count个值为value的元素,根据count值不同,LREM命令的执行方式会略有差异: 当count>0时,从左边开始 当count<0时 从右边开始 当count=0时,删除所有值为value的元素 |
| LINDEX key index LSET key index value | 获得/设置指定索引的元素值,索引从0开始,支持负数,-1是最右边元素的索引 |
| LTRIM key start end | 只保留列表指定片段 |
| LINSERT key BEFORE|AFTER pivot value | 向列表中插入元素。LINSERT命令首先会在列表中从左到右查找值为pivot的元素,然后根据第二个参数是BEFORE还是AFTER来决定将value插入到该元素的前面还是后面。 |
| RPOPLPUSH source destination | 将元素从一个列表转到另一个列表 |
集合操作 | SADD key member [member ...] SREM key member [member ...] | 增加删除集合元素 |
| SMEMBERS key | 获得集合中的所有元素 |
| SISMEMBER key member | 判断元素是否在集合中 |
| SDIFF key [key ...] SINTER key [key ...] SUNION key [key ...] | 集合间运算 差集运算 A-B={x|x属于A且x不属于B} 交集运算 并集运算 |
| SCARD key | 获得集合中元素个数 |
| SDIFFSTORE destination key [key ...] SINTERSTORE destination key [key ...] SUNIONSTORE destination key [key ...] | 进行集合运算并将结果存储 |
| SRANDMEMBER key [count] | 随机获得集合中的元素 当count>0,随机从集合里获得count个不重复的元素 当count<0,随机从集合里获得|count|个元素,元素有可能相同
|
| SPOP key | 从集合中弹出一个元素 由于集合是无序的,所以SPOP命令会从集合中随机选择一个元素弹出 |
有序集合操作 | ZADD key score member [score member ...] | 有序集合增加元素 如果元素已经存在,则修改元素的分数。分数不仅可以是整数,还支持双精度浮点数。+inf和-inf表示正无穷和负无穷 redis> ZADD testboard 17E+307 a redis> ZADD testboard +inf c redis> ZADD testboard -inf d
|
| ZSCORE key member | 获得元素的分数 |
| ZRANGE key start stop [WITHSCORES] ZREVRANGE key start stop [WITHSCORES] | 获得排名在某个范围的元素列表 ZRANGE命令会按照元素分数从小到大的顺序返回索引从start到stop之间的所有元素。包括两端。-1表示最后一个元素。加上后面的WITHSCORES,返回的结果会跟上元素的分数。ZREVRANGE按照从大到小的顺序返回结果。
|
| ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count] | 获得指定分数范围的元素 如果希望分数范围不包含端点值,可以在分数前加上“(”符号。redis> ZRANGEBYSCORE scoreboard 80 (100
|
| ZINCRBY key increment member | 增加某个元素的分数 |
| ZCARD key | 获得有序集合中元素数量 |
| ZCOUNT key min max | 获得指定分数范围内的元素个数 |
| ZREM key member [member ...] | 删除一个或多个元素 |
| ZREMRANGEBYRANK key start stop | 按照排名范围删除元素 |
| ZREMRANGEBYSCORE key min max | 按照分数范围删除元素 |
| ZRANK key member ZREVRANK key member | 获得元素排名 |
| ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX] ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX] | 计算有序集合的交集/并集 destination键中元素的分数是由AGGREGATE参数决定的,默认是SUM。SUM是各参与计算的集合中该元素分数的和,MIN是最消息,MAX是最大值。 通过WEIGHTS参数设置每个集合的权重,每个集合在参与计算时元素的分数会被乘上该集合的权重。 redis> ZINTERSTORE result 2 sortedset1 sortedset2 WEIGHTS 1 0.1
|
事务 | MULTI EXEC | 事务开始 事务执行 |
| WATCH | WATCH命令可以监控一个或多个键,一旦其中又一个键被修改(或删除),之后的事务就不会执行。监控一直持续到EXEC命令。 |
生存时间 | EXPIRE PEXPIRE EXPIREAT PEXPIREAT | 设置一个键的生存时间 |
| TTL | 获取键的剩余时间 |
| PERSIST | 清除一个键的生存时间 |
排序 | SORT key [DESC] [LIMIT offset count] BY * GET * STORE * | 可以对列表类型、集合类型和有序集合类型键进行排序 |
消息通知 | PUBLISH channel message | 发布者发布一条消息 返回值是接收到这条消息的订阅者数量 |
| SUBSCRIBE channel [channel ...] UNSUBSCRIBE channel [channel ...] | 订阅/取消订阅频道 |
| PSUBSCRIBE pattern [pattern ...] PUNSUBSCRIBE pattern [pattern ...] | 使用glob通配符订阅/取消订阅频道 |