第四章 - 超越数据结构.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 - 超越数据结构

第四章 - 超越数据结构 5种数据结构组成了Redis的基础,其他没有关联特定数据结构的命令也有很多。我们 已经看 ⼀些这样的命 令:info,select, flushdb, multi, exec, discard, watch和keys。这⼀章将看 看其他的⼀些重要命令。 使⽤期限 (Expiration ) Redis允许你标记⼀个关键字的使⽤期限。你可以给予⼀个Unix时间戳形式 (⾃1970年 1⽉1 ⽇起)的绝对时间,或者⼀个基于秒的存活时间。这是⼀个基于关键字的命令, 因此其不在乎关键字表⽰的是哪种类型的数据结构。 expire pages:about 30 expireat pages:about 1356933600 第⼀个命令将会在30秒后删除掉关键字 (包括其关联的值)。第⼆个命令则会在20 12 年12⽉31 ⽇上午12点删除掉关键字。 这让Redis能成为⼀个理想的缓冲引擎。通 ttl命令,你可以知道⼀个关键字还能够 存活多久。⽽通 persist命令,你可以把⼀个关键字的使⽤期限删除掉。 ttl pages:about persist pages:about 最后,有个特殊的字符串命令,setex命令让你可以在⼀个单独的原⼦命令⾥设置⼀ 个字符串值,同时⾥指定⼀个⽣存期 (这⽐任何事情都要⽅便)。 setex pages:about 30 h1about us /h1 发布和订阅 (Publication and Subscriptions) Redis的列表数据结构有blpop和brpop命令,能从列表⾥返回且删除第⼀个 (或最后 ⼀个)元素,或者被堵塞,直到有⼀个元素可供操作。这可以⽤来实现⼀个简单的队 列。 (译注:对于blpop和brpop命令,如果列表⾥没有关键字可供操作,连接将被堵 塞,直到有另外的Redis客户端使⽤lpush或rpush命令推⼊关键字为⽌。) 此外,Redis对于消息发布和频道订阅有着⼀流的⽀持。你可以打开第⼆个redis- cli窗⼜,去尝试⼀下这些功能。在第⼀个窗⼜⾥订阅⼀个频道 (我们会称它 为warnings): subscribe warnings 其将会答复你订阅的信息。现在,在另⼀个窗⼜,发布⼀条消息到warnings频道: publish warnings its over 9000 ! 如果你回到第⼀个窗⼜,你应该已经接收到warnings频道发来的消息。 你可以订阅多个频道 (subscribe channel1 channel2 ...),订阅⼀组基于 模式的频道 (psubscribe warnings:*),以及使⽤unsubscribe和 punsubscribe命令停⽌监听⼀个或多个频道,或⼀个频道模式。 最后,可以注意到publish命令的返回值是1,这指出了接收到消息的客户端数量。 监控和延迟⽇志 (Monitor and Slow Log ) monitor命令可以让你查看Redis正在做什么。这是⼀个优秀的调试⼯具,能让你了 解你的程序如何与Redis进⾏交互。在两个redis-cli窗⼜中选⼀个 (如果其中⼀个 还处于订阅状态,你可以使⽤unsubscribe命令退订,或者直接关掉窗⼜再重新打 开⼀个新窗⼜)键⼊monitor命令。在另⼀个窗⼜,执⾏任何其他类型的命令 (例如 get或set命令)。在第⼀个窗⼜⾥,你应该可以看到这些命令,包括他们的参数。 在实际⽣产环境⾥,你应该谨慎运⾏monitor命令,这真的仅仅就是⼀个很有⽤的调 试和开发⼯具。除此之外,没有更多要说的了。 随同monitor命令⼀起,Redis拥有⼀个slowlog命令,这是⼀个优秀的性能剖析⼯ 具。其会记录执⾏时间超 ⼀定数量微秒的命令。在下⼀章节,我们会简略地涉及如 何配置Redis ,现在你可以按下⾯的输⼊配置Redis去记录所有的命令: config set slowlog-log-slower-than 0 然后,执⾏⼀些命令。最后,你可以检索到所有⽇志,或者检索最近的那些⽇志: slowlog get slowlog get 10 通 键⼊slowlog len,你可以获取延迟⽇志⾥的⽇志数量。 对于每个被你键⼊的命令,你应该查看4个参数: ⼀个⾃动递增的id ⼀个Unix时间戳,表⽰命令开始运⾏的时间 ⼀个微妙级的时间,显⽰命令运⾏的总时间 该命令以及所带参数 延迟⽇志保存在存储器中,因此在⽣产环境中运⾏ (即使有⼀

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档