Redis命令总结

来源:互联网 发布:在线截取gif软件 编辑:程序博客网 时间:2024/06/10 05:51


 

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命令支持的运算操作有ANDORXORNOT

散列表操作

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属于Ax不属于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命令会按照元素分数从小到大的顺序返回索引从startstop之间的所有元素。包括两端。-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参数决定的,默认是SUMSUM是各参与计算的集合中该元素分数的和,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通配符订阅/取消订阅频道




0 0