美文网首页我爱编程程序员redis学习
redis-2-字符串命令以及数据结构类型

redis-2-字符串命令以及数据结构类型

作者: 打伞的Fish | 来源:发表于2018-06-13 20:53 被阅读22次

    通过这篇文章可以知道:

    • redis有哪些数据结构类型?,通过什么命令查询某个键是什么数据结构类型?
    • redis的字符串内部编码有哪些?,如何查询某个是字符串是什么编码?
    • 键总数如何查?一分钟不超过5次访问如何实现?

    常规命令

    • 当前数据库中键的总数
      dbsize
    • 键的过期时间信息
      ttl命令会返回键的剩余过期时间, 它有3种返回值:
      大于等于0的整数: 键剩余的过期时间。
      -1: 键没设置过期时间。
      -2: 键不存在
    • 键的数据结构类型
      type key
      type命令实际返回的就是当前键的数据结构类型,对外显示的,实际上每种数据结构都有自己底层的内部编码实现, 而且是多种实现,这样Redis会在合适的场景选择合适的内部编码
      数据结构与内部编码

    字符串命令操作

    • set命令操作
    set命令会将过期时间设置进行清除的

    ex seconds: 为键设置秒级过期时间。
    px milliseconds: 为键设置毫秒级过期时间。
    nx: 键必须不存在, 才可以设置成功, 用于添加。
    xx: 与nx相反, 键必须存在, 才可以设置成功, 用于更新

      setex key seconds value
      setnx key value
      set hello jedis xx
    
    • 批量设置和批量获取

      mset key value [key value ...]
      mget key [key ...]
      
    • 自增自减法

      decr key
      incrby key increment
      decrby key decrement
      incrbyfloat key increment
      

    不常用命令

    长度:strlen key 返回的是字节数,中文则是3个字节
    设置并返回原值:getset key value
    获取部分字符串:getrange key start end

    字符串内部编码

    字符串类型的内部编码有3种:
    ·int: 8个字节的长整型。
    ·embstr: 小于等于39个字节的字符串。
    ·raw: 大于39个字节的字符串

      127.0.0.1:6379> set key 8653
      OK
      127.0.0.1:6379> object encoding key
      "int"
    

    时间复杂度

    字符串键时间复杂度

    应用场景

    某段时间不超过多少次之类的场景


    一分钟不超过5次

    相关文章

      网友评论

        本文标题:redis-2-字符串命令以及数据结构类型

        本文链接:https://www.haomeiwen.com/subject/gvmdeftx.html