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   #获得降序排名

        

       

 

posted @ 2016-08-05 23:47  mint167  阅读(1199)  评论(0编辑  收藏  举报