zoukankan      html  css  js  c++  java
  • redis基本命令学习总结

    个人学习笔记,谢绝转载!!!

    原文:https://www.cnblogs.com/wshenjin/p/14156122.html


    KEY 操作:

    GET key                 #获取某个key,不存在则返回nil
    DEL key                 #删除某个key
    KEYS pattern            #查看符合正则的所有key
    EXISTS key [key ...]    #判断某个key是否存在,可支持多个,返回存在的个数
    EXPIRE key seconds      #刷新某个key过期时间
    MOVE key db             #移动key到某个数据库
    

    string:

    redis中的整型也当作字符串处理

    
    SET key value [EX seconds] [PX milliseconds] [NX|XX]  #设置key为指定的字符串值。
                                                          #参数:
                                                          #EX seconds, 设置键key的过期时间,单位时秒
                                                          #PX milliseconds, 设置键key的过期时间,单位时毫秒
                                                          #NX, 只有键key不存在的时候才会设置key的值
                                                          #XX, 只有键key存在的时候才会设置key的值
    
    APPEND key value                                      #如果 key 存在且为字符串,就把 value 追加到原来值的结尾。 
    
    APPEND key value                                      #如果 key 不存在,先创建一个空字符串的key,再执行追
    
    GET key                                               #获取key值,不存在则返回nil
    
    GETRANGE key start end                                #获取指定key索引start位置到end位置所对应的值,索引从0开始
    
    GETSET key value                                      #设置新的key值,并获取设置之前的值,如果key不存在则设置,并返回nil
    
    MGET key [key ...]                                    #批量获取key的值
    
    MSET key value [key value ...]                        #批量设置key的值
    
    DECR key                                              #数字类型的key自减操作
    
    INCR key                                              #数字类型key自加操作
    
    DECRBY key decrement                                  #数字类型key指定减少数值
    
    INCRBY key increment                                  #数字类型key指定增加数值
    
    STRLEN key                                            #获取key长度
    
    

    list:

    列表中的元素索引从0开始,倒数的元素可以用"-倒数"位置表示,如-2,代表倒数第二个元素,-1则代表最后一个元素。

    List是简单的字符串列表,按照插入顺序排序。

    一个列表最多可以包含 2∧32 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

    LPUSH key value [value ...]                          #从列表左边放入一个或者多个元素
    
    LPUSHX key value                                     #当列表存在时,从左边放入一个元素
    
    LPOP key                                             #从列表左边删除一个元素
    
    RPUSH key value [value ...]                          #从列表右边放入一个或者多个元素
    
    RPUSHX key value                                     #当列表存在时,从右边放入一个元素
    
    RPOP key                                             #从列表右边删除一个元素
    
    LSET key index value                                 #根据索引设置列表中元素的值,当list不存在时报错
    
    LINDEX key index                                     #根据列表索引获取元素值
    
    LINSERT key BEFORE|AFTER pivot value                 #在列表中,基于某个基准点插入值,pivot代表基准点
    
    LLEN key                                             #获取列表长度
    
    LRANGE key start stop                                #根据索引获取列表中的元素,列表索引最后一个可以使用-1
    
    LREM key count value                                 #从存于 key 的列表里移除前 count 次出现的值为 value 的元素
                                                         #count > 0: 从头往尾移除值为 value 的元素
                                                         #count < 0: 从尾往头移除值为 value 的元素
                                                         #count = 0: 移除所有值为 value 的元素
    
    RPOPLPUSH source destination                         #删除source列表中的删除最后一个元素将其追加到destination列表
    
    LTRIM key start stop                                 #根据索引start和stop保留列表元素
    
    

    hash:

    hash 是Redis string类型的field和value的映射表,hash特别适合用于存储对象。每个 hash 可以存储 2∧32 - 1 键值对(40多亿)。

    HDEL key field [field ...]                           #删除hash表中一个或多个字段
    
    HEXISTS key field                                    #判断hash表中字段是否存在
    
    HGET key field                                       #获取hash表中字段的值
    
    HGETALL key                                          #获取hash表中所有字段
    
    HSET key field value                                 #设置hash表中字段的值
    
    HSETNX key field value                               #字段不存在时候才设置hash表中字段值,
    
    HLEN key                                             #获取hash表中字段个数
    
    HVALS key                                            #获取hash表中所有字段的值
    
    HKEYS key                                            #获取hash表中所有的字段
    
    HSTRLEN key field                                    #获取hash表中指定字段的值的长度
    
    HMSET key field value [field value ...]              #批量设置hash表中字段的值
    
    HMGET key field [field ...]                          #批量获取hash表中字段的值
    
    

    set:

    Set 是通过哈希表实现的的无序集合。集合成员是唯一的,添加,删除,查找的复杂度都是 O(1)。

    Set 中最大的成员数为 2∧32 - 1 (4294967295, 每个集合可存储40多亿个成员)。

    SADD key member [member ...]                         #添加一个或多个元素到集合中
    
    SREM key member [member ...]                         #删除一个或多个集合中的元素
    
    SCARD key                                            #获取集合中元素数量
    
    SMEMBERS key                                         #返回集合中所有的元素
    
    SINTER key [key ...]                                 #获取两个或两个以上集合的交集
    
    SUNION key [key ...]                                 #获取两个或两个以上集合的并集
    
    SDIFF key [key ...]                                  #获取两个或者两个以上集合的差集
    
    SISMEMBER key member                                 #判断元素是否是在指定集合中
    
    SMOVE source destination member                      #移动一个集合中的元素到另一个集合
    
    SPOP key [count]                                     #移除count个集合中元素,count可选参数,默认为1,即移除一个
    
    

    sorted set

    有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

    有序集合每个元素都会关联一个double类型的分数,redis通过分数来为集合中的成员进行从小到大的排序。

    有序集合的成员是唯一的,但分数(score)却可以重复。

    ZADD key [NX|XX] [CH] [INCR] score member [score member ...]  #向一个有序集合添加成员(元素)
                                                                  #参数:
                                                                  #XX: 仅仅更新存在的成员,不添加新成员。
                                                                  #NX: 不更新存在的成员。只添加新成员。
                                                                  #CH: 修改返回值为发生变化的成员总数,原始是返回新添加成员的总数 (CH 是 changed 的意思)。
                                                                  #更改的元素是新添加的成员,已经存在的成员更新分数。
                                                                  #所以在命令中指定的成员有相同的分数将不被计算在内。注:在通常情况下,ZADD返回值只计算新添加成员的数量。
                                                                  #INCR: 当ZADD指定这个选项时,成员的操作就等同ZINCRBY命令,对成员的分数进行递增操作。
    
    ZCARD key                                                     #获取有序集合中元素个数
    
    ZCOUNT key min max                                            #指定分数范围的元素个数
    
    ZINCRBY key increment member                                  #为有序集的元素的score值加上增加指定的increment
    
    ZRANGE key start stop [WITHSCORES]                            #根据有序集合中分数区间获取集合中的元素
    
    ZREM key member [member ...]                                  #删除有序集合中一个或多个元素
    
    ZSCORE key member                                             #设置元素在集合中的分数
    
    

    参考

    https://www.cnblogs.com/wdliu/p/9360286.html

  • 相关阅读:
    PNG文件格式具体解释
    opencv2对读书笔记——使用均值漂移算法查找物体
    Jackson的Json转换
    Java实现 蓝桥杯VIP 算法训练 装箱问题
    Java实现 蓝桥杯VIP 算法训练 装箱问题
    Java实现 蓝桥杯VIP 算法训练 单词接龙
    Java实现 蓝桥杯VIP 算法训练 单词接龙
    Java实现 蓝桥杯VIP 算法训练 方格取数
    Java实现 蓝桥杯VIP 算法训练 方格取数
    Java实现 蓝桥杯VIP 算法训练 单词接龙
  • 原文地址:https://www.cnblogs.com/wshenjin/p/14156122.html
Copyright © 2011-2022 走看看