Redis 五大数据类型

  1. String
    • 基本操作
      --+ 
          set key value 
          setex key value time --设置过期时间
          setnx key value  --跟 如果存过该key值了 返回0 else 1
          incr key  --跟i++ 类似只不过这个的类型为string
          decr key --  i--
          incrby key num -- i+=num 类似
          getrange key start end --截取下标[start end] 的字符串
          setrange key start  xxx --在下标start 处插入xxx
          mset key1 value1 key2 value2 ... --添加多值
          mget key1 key2 ... --取到多值
          msetnx key1 value1 key2 value2 存多值  一起存成功 1,else 0
          
          mset user:1:name zhangsan user:1:age 2 存对象
          mget user:1:name user:1:age 取
          getset key value --会返回修改前的数据 不存在的返回nil

       

  2. List
    • 底层原理:快速链表——连续空间块 当数据多的时候通过指针连接地址空间块
    • 命令行:' L '开头的从左边做thing ,' R ' 同理右边
    • 基本操作
      --+
      Lpush ListName value  
      Lrange ListName 0,-1 获取List中所有的值
      --  -
      Lpop List --移除左边第一个
      Lrem ListNamenum value 移除List 中num个 value
      -- 修改
          Ltrim ListName index1 index2 截断List指定的下标
          Lset ListName index value 更新下标index对应的值
          Linsert ListName before/after value 将value 插入List的前面或后面

       

  3. Set(不能重复)
    • 基本操作
      -- +
      Sadd key value
      --查询
      Smembers SetName --查看指定的set 的所有值
      Smembers SetName value --判断某个值是否在set中
      Srandmember SetName --随机抽选一个元素
      --  -
      Srem SetName value --移除set指定的value 的值
      Spop SetName--随机删除元素
      -- ∪ ∩ ×
      SinTer SetName1 SetName2 --
      Sdief SetName1 SetName2 --×
      Sunion SetName1 SetName2 --
      --修改
      Smove SetName1 SetName2 value --从SetName1移动SetName2 

       

  4. Hash (Key-map集合)
    • 优点:适合对象存储
    • 基本操作
      --+
      Hset HashName key1 value1 key2 value2...
      Hget  HashName key1 key2...
      Hget all --查询全部
      Hlen Hash  --查询个数
      Hexists HashName key1 --查询key1是否存在
      --  -
      Hdel HashName key --删除指定的key 

       

  5. Zset(有序集合)
    • 基本操作
      --+
      Zadd ZsetName index value
      -- 🔍
      Zrevrange ZsetName 0 -1 --从小到大排序
      Zrange ZsetName 0 -1 --查询全部
      Zcard ZsetName --获取集合个数
      Zrangebyscore ZsetName -inf(min+inf(max) 筛选[min,max]之内的值
      -- x
      Zrem ZsetName value  

       

posted @ 2021-01-24 17:10  龙er飞  阅读(61)  评论(0编辑  收藏  举报