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

  • 相关阅读:
    nginx文件类型错误解析漏洞
    js 获取URL中的参数并转换为对象
    postman
    php curl参数详解
    php 两变量值互换 方法
    PHP 命名空间与spl_autoload_register() 自动加载机制
    php命名大小问题
    PHP实现冒泡排序
    使用 PHPStorm + Xdebug 实现断点调试(二)
    TSPL学习笔记(2):过程和变量绑定
  • 原文地址:https://www.cnblogs.com/wshenjin/p/14156122.html
Copyright © 2011-2022 走看看