zoukankan      html  css  js  c++  java
  • redis 数据操作命令汇总(string hash list set zset)

    1、string     字符串型

        set name  zhangsan   #  设置name(key) 为zhangsan(value)

        get name              #获取key的值

        exists name     #判断name是否存在

        del  name    #删除键值 name

        type name   #获取name的类型     

         

        incr sum  #如果键 sum 不存在  则创建 初始值为 1   若存在  则加一  如果不是整数型 则报错

        incrby sum 12 #与incr类似 sum+12    

        decr sum    #与incr相反 减去 1

        decrby sum 12  #sum-12

        

        incrbyfloat sum 0.2 # sum+0.2 

        append name  " is " #尾部添加 is

        strlen name #获取name的长度

        

        mget  name  sum  #同时获取多个键  

        mset  name  lisi   sum 1110 #同时设置多个值

       【del  支持通配符   可删除所有符合规则的  在这里可以看到 http://www.cnblogs.com/mintworld/p/5729805.html】

    2、 hash 散列类型

          

            存储方式如果按照 万物皆对象 就像上图一样 命令如下

            hset person:1  height  175

            hset person:1  weight  120

            hset person:1  age       28

            hget person:1  age  #获取age

                    或者

            hmset  person:1  height 175 weight 120 age 28

            hmget     person:1  height weight age

            hgetall  person:1

            hexists person:1  age # 判断键的字段是否存在

            hsetnx person:1  age 120 # 如果age存在则无任何操作 不存在则创建字段赋值给字段

          

            hincrby person:1 age  1  #如果字段age存在则 age+1 如果不存在则 创建字段并赋值为1 如果类型不可累加 则报错

            hdel person:1 age height #删除一个或多个字段

            hkeys person:1  #获取所有的字段

            hvals person:1 #获取所有的字段值

            hlen  person:1 #获取字段数量

    3、   list 列表类型 

            lpush message cust:123:hello #放入列表左侧

            rpush message cust:123:hello #放入列表右侧

            lpop  message  #从左边弹出一个值

            rpop  message #从右侧弹出一个值

            llen message  #获取元素的个数

            lrange message 0 -1 #从第一个取出到最后一个

            lrem message  2 1   #删除前两个值中为1的值   >0从左侧  <0从右侧   =0 删除所有为1 的值

            lindex message  2    #获取值为2的下标 从0开始

            lset message 0 zhangsan  #设置第一个值为zhangsan

            ltrim message 1 8   #只保留下标从1到8的值其余剪切掉

            linsert message after  114 1 #在message中从0开始找到值为114然后在后面插入一个1   after  另一个是before

            rpoplpush message ceshi #从message右侧取出一个值放入 到 测试的左侧中去

    4、   set 集合类型 

            sadd person:youyong  user:1 user:2    # 向person:youyong  放入 user:1  user:2  一般用来做的就是  标签   有游泳兴趣的用户是  1 2

            srem person:youyong user:1 user:2   #删除一个或者多个元素

            smembers person:youyong  #获取所有元素

            sismember person:youyong user:1 #判断元素是否存在

            ------------------------------------------------------差集  交集  并集--------------------------------

            sadd person:yinyue    user:3 user:4    #准备工作

            sdiff  person:youyong person:yinyue   #结果是 user:1 user:2       A-B

            sadd person:yinyue    user1   #准备工作

            sinter person:youyong person:yinyue #结果是 user:1

            sunion  person:youyong person:yinyue  #结果是 user:1 user:2 user:3 user:4

            ------------------------------------------------------------------------------------------------------

             scard person:youyong #获取person:youyong 的元素个数 

             sdiffstore person:test person:youyong person:yinyue#将获取到的值存储到 person:test中去   sinterstore  sunionstore  一样

             srandmember person:test  #随机获取一个元素

             srandmember person:test   2  #随机获取2个元素        2可以为负数 则有可能重复   当大于所有元素个数的时候则全部出现

             spop person:test  #随机弹出一个元素

    5、    zset 有序集合

              有序集合与集合相比多了个排序

            zadd  person:all    80 user:1  90 user:2 #添加元素

            修改的话

            zadd person:all    100 user:1

            zscore  person:all   user:1 #获取元素的值   100

            zrange  person:all   0 -1 #得到的结果是 升序的   user:2  user:1   如果  zrange  person:all   0 -1 withscores  则是  user:2   90   user:1  100

            zrevrange person:all   0 -1   #同上 得到的结果是  降续

            -----------------------------------------------------------------------------------------------------------

            zrangebyscore person:all  80 100  #获取元素值在 80到100的元素 包含两端   得到的结果是   user:1  100        withscores    

            zrevrangebyscore person:all 80 100  #同上 得到的结果是  降续

            ZRANGEBYSCORE person:all (80 100 withscores     #不包含80

             ---------------------------------------------------------------------

            #取前几个值 

           zrangebyscore person:all  80 100  withscores  limit 0  1    # 大于等于80小于等于100 取一个从下标0(第一个开始取)开始

           #增加某个元素的值

            ZINCRBY person:all  1  user:1   #加1

            ZINCRBY person:all  -1  user:1  #减1  

            ZCARD person:all   #获取元素个数

            ZCOUNT person:all 80 100  #获取值在80和100之间元素的个数

            ZCOUNT person:all 80 +inf   #大于等于 80以上的所有元素的个数    +inf -inf  正无限大  负无限大

            zrem  person:all   user:1 user:2  #删除多个元素

            ----------按照排名范围删除-------------------------------

            ZREMRANGEBYRANK person:all 0  2   

            ZREMRANGEBYSCORE person:all 20 80   #按照值删除

            -----------获得元素的排名------------------------

            ZRANK person:all user:1     #获得升序排名

            ZREVRANK person:all user:1   #获得降序排名

            

           

  • 相关阅读:
    使用jmeter进行性能测试-Jmeter教程及技巧汇总 (转)
    Linux防火墙(Iptables)的开启与关闭
    解决Unable to load R3 module ...VBoxDD.dll (VBoxDD):GetLastError=1790
    Linux如何修改文件/文件夹内所有文件的权限
    php抽象类的简单应用
    php接口和多态的概念以及简单应用
    关于php中数据访问的几点补充
    php中重写和final关键字的使用
    php中static静态关键字的使用
    php对象引用和析构函数的关系
  • 原文地址:https://www.cnblogs.com/mintworld/p/5743081.html
Copyright © 2011-2022 走看看