• 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 0

    Redis OBJECT 命令

    Posted by 撒得一地 on 2016年7月7日 in Redis教程
    国外稳定加速器推荐    Express | Vypr

    语法

    OBJECT subcommand [arguments [arguments]]
    

    描述

    OBJECT 命令允许从内部察看给定 key 的 Redis 对象。

    它通常用在除错(debugging)或者了解为了节省空间而对 key 使用特殊编码的情况。
    当将Redis用作缓存程序时,你也可以通过 OBJECT 命令中的信息,决定 key 的驱逐策略(eviction policies)。

    OBJECT 命令有多个子命令:

    OBJECT REFCOUNT <key> 返回给定 key 引用所储存的值的次数。此命令主要用于除错。
    
    OBJECT ENCODING <key> 返回给定 key 锁储存的值所使用的内部表示(representation)。
    
    OBJECT IDLETIME <key> 返回给定 key 自储存以来的空闲时间(idle, 没有被读取也没有被写入),以秒为单位。
    

    对象可以以多种方式编码:

    字符串可以被编码为 raw (一般字符串)或 int (为了节约内存,Redis 会将字符串表示的 64 位有符号整数编码为整数来进行储存)。

    列表可以被编码为 ziplist 或 linkedlist 。 ziplist 是为节约大小较小的列表空间而作的特殊表示。

    集合可以被编码为 intset 或者 hashtable 。 intset 是只储存数字的小集合的特殊表示。

    哈希表可以编码为 zipmap 或者 hashtable 。 zipmap 是小哈希表的特殊表示。

    有序集合可以被编码为 ziplist 或者 skiplist 格式。 ziplist 用于表示小的有序集合,而 skiplist 则用于表示任何大小的有序集合。

    假如你做了什么让 Redis 没办法再使用节省空间的编码时(比如将一个只有 1 个元素的集合扩展为一个有 100 万个元素的集合),特殊编码类型(specially encoded types)会自动转换成通用类型(general type)。

    可用版本:

    >= 2.2.3
    

    时间复杂度:

    O(1)
    

    返回值:

    REFCOUNT 和 IDLETIME 返回数字。
    ENCODING 返回相应的编码类型。

    实例

    redis> SET game "COD"           # 设置一个字符串
    OK
    
    redis> OBJECT REFCOUNT game     # 只有一个引用
    (integer) 1
    
    redis> OBJECT IDLETIME game     # 等待一阵。。。然后查看空闲时间
    (integer) 90
    
    # 提取game, 让它处于活跃(active)状态
    redis> GET game                 
    "COD"
    
    redis> OBJECT IDLETIME game     # 不再处于空闲状态
    (integer) 0
    
    redis> OBJECT ENCODING game     # 字符串的编码方式
    "raw"
    
    # 非常长的数字会被编码为字符串
    redis> SET big-number 23102930128301091820391092019203810281029831092  
    OK
    
    redis> OBJECT ENCODING big-number
    "raw"
    
    # 而短的数字则会被编码为整数
    redis> SET small-number 12345  
    OK
    
    redis> OBJECT ENCODING small-number
    "int"
    

    标签:

    上一篇:

    下一篇:

    相关推荐

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    8 + 3 = ?

    网站地图|广东快乐10分开奖直播

    Copyright © 2015-2019 广东快乐10分开奖直播 All rights reserved.
    闽ICP备15015576号-1,版权所有?psz.

  • 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 竟彩足比分直播新浪爱彩 新曾道內幕玄机彩图 加拿大快乐8技巧 七星彩17101期规律 北京赛车直播官网cp5678 pc蛋蛋28预测 超级大乐透开奖号码 双色球预测专家最准确 双色球开奖公告 体彩p5今日开奖结果 体彩p5今日开奖结果走势图 天津时时彩走势图平台 海南飞鱼开奖结果 okooo澳客网 体育彩票走势图区号 北京快乐8正码赔率