redis命令
string类型操作
setex key seconds value # 设置过期时间,单位是秒,返回ok; 是一个原子性操作, 可以使用TTL key 来查看生存时间
# 相当于执行了两个操作: SET key value ; EXPIRE key seconds
psetex key milliseconds value # 以毫秒为单位设置生存周期,可以使用PTTL key来查看生存周期
_________________________________________________________________________________________
set key value
mset key value [key value ...]
get key
mget key [key...]
setnx key value # 当key不存在的时候,才可以设置,成功返回1,失败返回0
msetnx key value [key value...]
_________________________________________________________________________________________
strlen key # 获取k对应v的长度
setrange key offset value # 相当于字符串的替换, 返回替换后字符串的长度;对于key的值,
# 从offset位置开始替换成value, 如果偏移量比原来的key对应的值还大,则以0填充
getrange key start end # 返回key的部分值, 字符串从start开始, 包含end (从0开始,类型数组的索引)
append key value # string拼接。将值追加到值得末尾, 返回字符串的长度。如果key不存在,相当于是SET操作
_________________________________________________________________________________________
incr/decr key # 对key存储的数字加1; key不存在时,默认初始为0;
# 如果key存储的不是数字,会报错. key存储的必须是整数
incrby/incrbyfloat/decr key increment # 指定增减的数。要求key值和增量必须是整数
hash类型相关操作
hset key field value # 将哈希表key中的域field设置成指定的value. 一个key里面可以有多个field.
hmset key field1 value1 field2 value2
hget key field # 返回哈希表key中给定的field的值(需要指定hash中的具体field)
hmget key field1 field2
hsetnx # 将hash表中的fields设置成指定的值,field不存在时才可以执行(0失败,1成功)
_________________________________________________________________________________________
hkeys key # 返回hash中key的所有的field
hvals key # 返回hash中key的所有的value
hgetall key # 返回hash表中所有的field和value
hexists key field # 检测hash中key的field是否存在
hlen key # 返回key对应的hash map里元素的数量
_________________________________________________________________________________________
hincrby key field increment # 给hash中key的field做增量操作,只能是数值
hincrbyfloat key field increment # 浮点型的增量操作,只能是数值(整数和浮点数都可以)
hdel key field field # 删除hash中key的指定域,可以删除一个或者多个. 如果没有就不删除
list类型相关操作
lpush key value, value... # 向列表左端添加元素;从左到右逐个添加到左端,前面的先添加,可以一次添加多个元素
rpush key value, value... # 向列表右端添加元素;
lpushx/rpushx # 只有key存在才可以添加
lpop key
rpop key # 将列表左端/右端元素弹出;不存在就nil
_________________________________________________________________________________________
llen key # 获得列表的长度,不存在就返回0
lrange key start stop # start=0, stop=-1表示整个list; 如果start比列表的长度还大,则返回空
lrem key count value # 删除指定的值;count值由以下几类型:
# count>0: 从列表的头部开始,向尾部搜索,移除与value相等的|count|个元素
# count<0: 从列表的尾部开始,向头部搜索,移除与value相等的|count|个元素
# count=0: 移除列表中全部的与count相等的值
lindex key index # 获得指定索引元素的值
lset key index value # 设置指定索引的值(像数组一样修改元素)
ltrim key start stop # 只保留列表的片段;当start大于列表长度,则被清空
_________________________________________________________________________________________
linsert key BEFORE|AFTER a hello # 向key这个列表中,a之前插入一个元素hello;成功返回列表的长度
# 如果a不存在,则返回-1;对空列表不可用,返回0
rpoplpush srcList desList # 弹出右边元素, 添加到左边, 是一个原子操作, 返回弹出的元素
# 可以是同一个列表,source不存在时,返回nil
blpop key [key...] timeout # BLPOP是LPOP的阻塞版本,将第一个不为空的列表弹出
# timeout为0表示无限期等待
# 如果列表为空,则会在timeout时间之内一直等待, 当列表被添加之后,会弹出此列表,返回阻塞时间
# 支持多客户端操作
set类型相关操作
sadd key menber [, ...] # 向集合中添加元素.添加重复的元素会返回0,添加不成功。
smembers key # 返回指定集合中的元素,检测value是否是集合中的元素
srem key value # 删除集合中的元素,成功返回删除元素的个数,失败返回0
spop key # 删除集合中的随机元素,并返回删除的元素
srandmember kye count # 随机返回集合中的指定个数的随机元素,count的类型:
# count为正数并且小于集合长度,返回一个包含随机元素的集合数组;
# count为正数并且大于集合长度,会返回整个集合;
# count为负数,返回一个数组, 数组中的成员可能重复出现,数组的长度是count的绝对值
sdiff key, key... # 返回集合的差集;在前面的集合中,不在后面的集合中的元素; 没有差集返回空
sinter key key ... # 求多个集合的交集
sunion key , key ... # 返回集合中的并集
scard key # 返回集合的长度
sdiffstore destination key key ... # 将差集结果保存到指定的集合中。当集合已经存在时,会覆盖
sinterstore destination key key ... # 将交集的结果保存到指定的集合中。
sunionstore destination key key ... # 将并集的结果保存到指定的集合中。
smove source destination member # 将集合中的元素移动到另外的集合中;是一个原子操作,如果目标集合中已经包含了此元素,则只会删除源集合中的元素
zset类型相关操作
zadd key score membre [score member] # 将元素及其分数添加到集合中;当集合元素已经存在时,再次添加会更新其分数
# 当score是 +inf 时,分数是正无穷;当score是 -inf 时,分数是负无穷
zscore key value # 获得指定成员的分数,元素不存在,返回nil
zrange key start stop [WITHSCORES] # 按照分数从小到大的顺序返回指定索引start到stop之间的元素,参数WITHSCORES指定显示分数
# 包含stop;若stop索引超过集合长度,则返回全部存在的元素.
# 若start超过了集合的长度,则为空
# 分数相同时,按照字典的顺序排序
zrevrange key start stop [WITHSCORES] # 按照分数从大到小的顺序返回指定索引start到stop之间的元素,参数WITHSCORES指定显示分数
# 包含start和stop
zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
# 获得指定分数范围内的元素,按照分数从小到大的顺序
# min,max 表示不包含端点; -inf +inf 表示负无穷大和正无穷大,LIMIT 必须指定偏移量,再指定数量
zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count] # 获得指定分数范围内的元素,按照分数从大到小的顺序
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]
# 计算有序集合的交集,并将结果保存起来;默认是分数求和
# destination 指定目标集合;numkeys 指定集合的个数;key 指定集合名称;WEITHGS 指定权重;AGGEGATE 分数的计算方式
网友评论