Redis常用数据类型以及其常用操作命令

一.单进程:

    1.单进程模型来处理客户端的请求。对读写等事件的响应
    2.是通过对epoll函数的包装来做到的。Redis的实际处理速变完全依家主进程的执行效率
    3.Epoll是Linux内核为处理大批量文件描述符而作了改进的epoll,是LInux 下多路复用10接口slectpoIl的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。

二.Redis五大数据类型

    1.String    2.Hash   3.List   4.Set     5.Zset

  Zset(sorted set:有序集合):
  Redis Zset和set.-样 也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正通过分数来为集合中的成员进行从小到大的排序,Zset的成员是唯一的,但分数(score)却可以重复。

三.各数据类型常用的操作命令

  1. 基本命令:

      Select命令切换数据库   7
      Dbsize查看当前数据库的key的数量
      Flushdb:清空当前库
      Flushall:通杀全部库

  2.String

     set/ get/del/append/strlen    设值/取值/删除/续加字符串/计算字符串

              127.0.0.1:6379> append k1 12345
              (integer) 11
              127.0.0.1:6379> get k1
              "12345612345"

       Incr/decr/incrby/decrby      值加1/值减1/值加x/值减x (一定要是数字才能进行加减 )      

              127.0.0.1:6379> decrby  k2  10
              (integer) 4

      getrange/setrange.          获取某范围值/设值某范围值

               127.0.0.1:6379> GETRANGE k1 0 3
               "1234"
              127.0.0.1:6379> SETRANGE k1 0 xxx
              (integer) 11
              127.0.0.1:6379> get k1
               "xxx45612345"

      setex(set with expire)鍵秒値/setnx(set if not exist)       设置键值存在时间

             127.0.0.1:6379> setex k1 10 sas
             OK
             127.0.0.1:6379> ttl k1
              (integer) -2

     mset/ mget        设置多键值/获取多键值/

               127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3
               OK
              127.0.0.1:6379> mget k1 k2 k3
              1) "v1"
              2) "v2"
              3) "v3"                                                                                                                                                

    getset(先get再set)

  3.List

        lpush/rpush/lrange         逆序入集合/正序/按范围查询

                     127.0.0.1:6379> lpush list 1 23 44 55 88
                     (integer) 5
                    127.0.0.1:6379> LRANGE list 0 -1
                    1) "88"
                    2) "55"
                    3) "44"
                    4) "23"
                    5) "1"

        lpop/rpop     正逆出栈一个键值
                   127.0.0.1:6379> lpop list
                   "88"

        lindex,按照索引下标获得元素(从上到下)
        llen
        lrem key      删N个value
        ltrim key      开始index结束index,截取指定范围的值后再赋值给key
        rpoplpush   把源列表的最后一个键值赋给目的列表第一个

                   127.0.0.1:6379> RPOPLPUSH list list1
                   "44"
      

  4.Set

        sadd/smembers      集合添加元素/查看集合

                      127.0.0.1:6379> sadd set01 11 223 55 666 
                      (integer) 4
                      127.0.0.1:6379> SMEMBERS set01 
                      1) "11"
                      2) "55"
                      3) "99"
                      4) "223"

        scard            获取集合里面的元素个数

                      127.0.0.1:6379> SCARD set01
                      (integer) 6

        srem key value            删除集合中元素
        srandmember key      某个整数(随机出几个数)

                     127.0.0.1:6379> SRANDMEMBER set01 2
                     1) "55"
                     2) "666"

        spop key                     随机出栈
        smove key1 key2       作用是将key1里的某个值赋给key2

        

5. Hash

       hset/hget/hmset/hmget/getall/hdel       设置单元素集合/得到单元素集合/设置多元素/得到多元素/获取所有信息/删除某元素

                 127.0.0.1:6379> hset user name z3
                (integer) 1
                127.0.0.1:6379> hget user name
                "z3"
                127.0.0.1:6379> hmset corrt id 11 name loy age 26
                OK
               127.0.0.1:6379> hdel user name
               (integer) 1

        hlen     键的数目

       hkeys/hvals  获取键或值

       hincrby   给键的值加x

              127.0.0.1:6379> HINCRBY corrt age 6
              (integer) 32

  6.Zset

         在set基础上.加一个score值.之前set是k1 v1 v2 v3,現在zset是k1 Score1 v1 score2 v2

         zadd/zrange                集合添加元素/范围查询

                127.0.0.1:6379> zadd zset01 60 v1 70 v2 80 v3
                (integer) 3
                127.0.0.1:6379> ZRANGE zset01 0 -1
                1) "v1"
                2) "v2"
                3) "v3"
         zrangebyscore key     开始score结束score
         zrem key                      某score下对应的value值,作用是删除元素
        zcard/zcount key score   区间/zrank key values值,作用是获得下标值/zscore key对应值

        zrevrank key values值,作用是逆序获得下标值
        zrevrange
        zrevrangebyscore key 结東score开始score国

猜你喜欢

转载自blog.csdn.net/yiye2017zhangmu/article/details/81223807