Redis

5种数据类型都离不开key,先列出key的相关命令。

KEY相关操作

  • 列出符合规则的KEYS

    KEYS pattern
    

    pattern支持glob风格的通配符格式,即:

    ? 一个字符
    * 任意多个字符
    [] 声明范围内字符
  • 检查KEY是否存在

    EXISTS key 
    
  • 删除KEY

    DEL key
    
  • 查看KEY的类型

    TYPE key
    

字符串

  • 赋值取值

    SET key value
    GET key value
    MSET key1 value1 key2 value2
    MGET key1 key2 
    
  • 整数增减,仅限value为数字时

    INCR key
    DECR key
    

    如果想增加指定的数量

    INCRBY key value
    DECRBY key value
    
  • 浮点数增加

    INCRBYFLOAT key value
    
  • 尾部追加

    APPEND key value
    
  • 获取长度

    STRLEN key
    
  • 位相关操作
    指定索引的存取:

    SETBIT key index value
    GETBIT key index
    

    获得1的数量

    BITCOUNT key indexFrom indexTo
    

    位运算,支持AND OR NOT XOR操作,比如:

    BITOP OR key3 key1 key2
    

散列

  • 赋值取值

    HSET key field value
    HGET key field
    HMSET key field1 value1 field2 value2
    HMGET key filed1 field2
    HGETALL key
    
  • 判断字段是否存在

    HEXISTS key field
    

    不存在则赋值 HSETNX key field value

  • 字段增量

    HINCRBY key field value
    
  • 删除字段

    HDEL key field1 field2
    
  • 查看字段信息

    查看字段名称

    HKEYS key
    

    查看字段值

    HVALS key
    

    字段数量

    HLEN key
    

列表

  • 两端增加

    LPUSH key value1 value2 value3
    RPUSH key value1 value2 value3 
    
  • 两端弹出

    LPOP key
    RPOP key
    
  • 获取元素个数

    LLEN key
    
  • 按索引获取
    获取指定索引值

    LINDEX key index  
    

    获取片段

    LRANGE key indexFrom indexTo
    
  • 按索引赋值

    LSET key index value
    

    或者在列表中从左到右查找pivot元素并按照BEFORE或者AFTER决定将value插入到前或后

    LINSERT key BEFORE|AFTER pivot value
    
  • 删除指定值

    删除前count个值为value的元素

    LREM key count value
    

    仅保留索引范围内的元素

    LTRIM key indexFrom indexTo
    

集合

  • 增加/删除

    SADD key value1 value2
    SREM key value1 value2 
    
  • 列出所有元素

    SMEMBERS key
    
  • 集合长度

    SCARD key
    
  • 判断是否存在

    SISMEMBER key value
    
  • 集合比较

    • 差集

      SDIFF key1 key2
      
    • 交集

      SINTER key1 key2
      
    • 并集

      SUNION key1 key2
      

      当然,我们也可以将比较后的结果存下来:

    • 差集

      SDIFFSTORE key3 key1 key2
      
    • 交集

      SINTERSTORE key3 key1 key2
      
    • 并集

      SUNIONSTORE key3 key1 key2
      
  • 随机获取/弹出
    count为返回个数,负数时返回|count|个,但可以重复。

    SRANMEMBER key count
    

    弹出

    SPOP key
    

有序集合

  • 增加元素
  • ZADD key score1 value1 score2 value2
    
  • 删除元素

    • 删除指定元素

      ZREM key value1 value2
      
    • 按索引范围删除

      ZREMRANGEBYRANGE key indexFrom indexTo
      
    • 按分数范围删除

      ZREMRANGEBYSCORE key min max
      
  • 分数增加

    ZINCRBY key score value
    
  • 获得分数

    ZSCORE key value
    
  • 获得元素

    • 获得指定范围内的元素,按SCORE正序和倒序,分数相同时则按value的UTF-8编码顺序排列,如果加上WITHSCORE则输出时带上SCORE。

      ZRANGE key indexFrom indexTo [WITHSCORES]
      ZREVRANGE key indexFrom indexTo [WITHSCORES]
      
    • 获得指定分数范围内的元素,仍是按分数进行排序。
      取SCORE为min到max之间的元素,默认包括与min和max相等的元素。
      如果,不打算包括则在min或max前加“(”。
      最后的limit用法与SQL相似。

      ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
      
    • 获得元素排名

      ZRANK key value
      ZREVRANK key value
      
  • 元素数量

    集合大小

    ZCARD key
    

    指定分数范围内数量,和ZRANGEBYSCORE一样,涉及min和max的都是默认包括min和max。

    ZCOUNT key min max
原文地址:https://www.cnblogs.com/kavlez/p/4131840.html