神刀安全网

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

通过这篇文章可以知道:

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

常规命令

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

    数据结构与内部编码

字符串命令操作

  • 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" 

应用场景

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

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

一分钟不超过5次

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » redis-2-字符串命令以及数据结构类型

分享到:更多 ()