redis常用指令总结

一:字符串类型

1.set key value 赋值/创建key 值为value
2.get key 获取key的值
3.incr key 如果存的值为整数类型,键值递增,否则报错
4.incrby key increment 给键值增加指定的整数(increment)
5. decr key 键值递减
6. decrby key decrement 减少指定的整数
7. incrbyfloat key increment 增加指定浮点数
8. append key value 向键值末尾追加value,如果key不存在,则船舰值为value的key

  • set key hello
  • append key world
  • get key
    hello world

9.strlen key 获取键值长度,key不存在返回0
10.mset/mget 同时设置/获取 多个键的键值
11.位操作

  • getbit key offset 获取一个字符串类型键指定位置(offset从0开始,从左至右)的二进制位的值(0或1)
  • setbit key offset value 设置字符串类型键指定位置的二进制位的值,返回该位置原值
  • bitcount key 【start】【end】获取键值为1的二进制位个数,可以通过start end限制字节范围
  • bittop opration destkey key [key……]可以对多个key进行位运算and,or,xor,not,并将结果保存在destkey中

二:散列类型

1.hset key(键) field(字段) value 赋值/创建key 字段为field 值为value
2.hget key field 获取字段field的值
3.hmset key field1 value1 field2 value2 同时设置多个字段的值
4.hmget key field1 field2 同时获取多个字段的值
5.hgetall key 获取键中所有字段和字段值
6.hexists key field 判断字段field是否存在存在返回1 否则返回0
7.hsetnx key field value 如果字段filed存在不做任何操作,否则创建并赋值
8.hincrby key field increment 给字段filed的值增加increment
9.hdel key field【field……】删除一个或多个字段
10.hkeys key 获取键中所有字段
11.hvals key 获取键中所有字段值
12.hlen key 获取key中的字段数量

三:列表类型

1.lpush key value【value……】向列表左边插入一个或多个元素,返回增加后列表的长度
2.rpush key value【value……】向列表右边插入一个或多个元素,返回增加后列表的长度
3.lpop key 从列表左边删除元素,返回被删除的元素值
4.rpop key 从列表右边删除元素,返回被删除的元素值
5.llen key 获取列表中元素个数
6.lrange key start end 获取索引从start到end的所有元素,左闭右闭。负索引表示从右边开始,如-1表示右边第一个元素,索引0~-1,则表示所有元素。
7.lrem key count value 删除列表中指定数量的指定值,返回实际删除的数量

  • 当count > 0从左边开始删除前count个 值为value的元素
  • 当count < 0从右边开始删除前|count|个值为value的元素
  • 当count = 0 删除所有值为value的元素

8.lindex key index 获取下标为index的值,index为负数从右开始计算索引
9.lset key index value 设置下标为index的值为value,index为负数从右开始计算索引
10.ltrim key start end 删除start到end之间其余其他所有的元素
11.linsert key before|affter pivot value 在列表中找到值为prvot的元素根据 before|affter将value插入到他之前或之后,prvot不存在则插入失败
12.rpoplpush src dest 从src中左边弹出元素再插入到dest左边。

四:集合类型

1.sadd key member1 【m2 m3……】向集合中增加一个或多个元素,由于集合中不能有相同的元素,所以如果已经存在则忽略,键不存在则创建,返回成功加入的元素(忽略的不算)
2.srem key member1【m2 m3……】从集合中删除一个或多个元素,返回最终删除的个数
3.smembers key 返回集合中所有元素
4.sismember key member 判断member是否再集合key中
5.集合间运算,返回结果为集合间的运算结果

  • sdiff key【key……】对多个集合执行差集运算(sdiff A B所有属于A且不属于B的元素构成的集合,sdiff B A,所有属于B且不属于A的元素构成的集合)
  • sinter key【key……】对多个集合执行交集运算(属于A且属于B的所有元素构成的集合)
  • sunion key 【key……】对多个集合执行并集运算(属于A或属于B的所有元素构成的集合)

6.scard key 获得集合中元素的个数
7. 将执行结果保存在dest当中

  • sdiffstore dest key【key……】
  • sinterstore dest key【key……】
  • sunionstore dest key【key……】

8.srandmember key 【count】 随机获取集合中的元素(省略count,获取一个元素)
s

  • 当count > 0,随机从集合中获得count个不重复的元素,如果count>集合中的元素个数,则返回集合所有元素
  • 当count < 0,随机从集合中获得|count|个元素,这些元素有可能重复

7.spop key 从集合中随机删除一个元素,返回值为删除的元素

五:有序集合类型

1.zadd key score member【score member……】添加一个元素和他的分数(整数,浮点数,双精度浮点数),如果元素已经存在,则新分数替换旧分数。
2.zrem key member【member……】删除一个或多个元素
3.zcard key 获得集合中元素的数量
4.zrank key member 获得元素排名(从小到大)
5.zrevrank key member 获得元素排名(从大到小,分数最高,排名最低,为0)
6.zcount key min max (min,max也支持-inf等等操作)获得指定分数范围内元素的个数
7.zscore key member 获得元素的分数
8.zrange key start stop【withscores】按照元素分数从小到大的顺序返回索引从start到stop之间的所有元素,如果想要携带分数,则加上withscores参数,最后显示格式如下
redis常用指令总结_第1张图片
9.zrangebyscore key min max 【withscores】【limit offset count】获得指定分数范围的元素

  • 默认包含端点值
    在这里插入图片描述
  • withscores与上面的一样
    在这里插入图片描述
  • 希望不包含端点值可以加上 ( 符号
    在这里插入图片描述
  • -inf和+inf分别表示负无穷和正无穷
    redis常用指令总结_第2张图片
  • 最后一个参数limit可以在满足调节的元素中再限制范围,表示从第几个开始,有多少数量
    redis常用指令总结_第3张图片
    上面的就表示,满足-inf到30分范围中,从第一个(下标从0开始)人开始的两个人(数量共有2人)

10.zincrby key increment member 增加一个元素的分数,返回值为更改后的分数,zremrangebyscore key min max 按照分数范围删除元素,支持( -inf +inf等操作
11.zremrangebyrank key start stop 按照排名范围删除元素

  • zremrangebyrank zset 0 2,删除排名0-2的元素(排名从下标0开始),即删除第0名,第一名和第二名
    redis常用指令总结_第4张图片

12.zremrangebyscore key min max 按照分数范围删除元素,支持( -inf +inf等操作
13.zinterstore dest numkeys key 【key……】【weights weight 【weight……】】【aggregate sum|min|max】计算有序集合的交集,将结果存储再dest中,而dest中的元素分数是由aggregate参数决定
redis常用指令总结_第5张图片

  • 当aggregate 默认为sum,dest中元素的分数为参与交集的集合中对应元素的分数之和
    redis常用指令总结_第6张图片
  • 当aggregate 为min,dest中元素的分数为参与交集的集合中对应元素中的分数最小值
    redis常用指令总结_第7张图片
  • 当aggregate 为max,dest中元素的分数为参与交集的集合中对应元素中的分数最大值
  • WEIGHTS 参数可以设置参与运算的每个集合的权重
    redis常用指令总结_第8张图片
    zunionstore用来计算集合的并集,用法类似。

你可能感兴趣的:(redis)