redis命令行操作

2021-04-13  本文已影响0人  voidFan

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 分数的计算方式
上一篇 下一篇

猜你喜欢

热点阅读