您的位置:首页 > 数据库 > Redis

Redis命令总结

2015-11-09 16:30 645 查看
 
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通配符订阅/取消订阅频道
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis