作者:empty 页数:167 出版社:empty |
Redis命令参考手册完整版. Red is命令参考外星人Key(键)DEL格式:DEL key[key...]删除给定的一个或多个key.格式:expire key seconds为给定key设置生存时间, 当key过期时(生存时间为0) , 它会被自动剧除。在Red is中, 带有生存时间的key被称为「可挥发」(volatile) 的。
生存时间可以通过使用DEL命令来删除整个key来移除, 或者被SET和GET SET命示例代码:假设你有一项web服务, 打算根据用户最近访问的N个页面来进行物品推荐, 并且假这些最近访问的页面记录, 我们称之为「导航会话』(Navigation session) , 可以用INCRR PUSH page w views, user:c userid>http://.....如果用户停止阅宽超过60秒,那么它的导航会话就会被清空。当用户重新开始阅览的这个命令和EXPIRE命令的作用类似, 但是它以毫秒为单位设置key的生存时间, 而设置成功,返回1key不存在或设置失败, 返回0令覆写(overwrite) , 这意味着, 如果一个命令只是修改(alter) 一个带生存时间的key的值而不是用一个新的key值来代替(replace) 它的话, 那么生存时间不会被改变比如说, 对一个key执行INCR命令, 对一个列表进行L PUSH命令, 或者对一个哈希表执行H SET命令, 这类操作都不会修改key本身的生存时间,另一方面, 如果使用RENAME对一个key进行改名, 那么改名后的key的生存时间和改名前一样。RENAME命令的另一种可能是, 尝试将一个带生存时间的key改名成另一个带生存时间的another key, 这时旧的another key(以及它的生存时间) 会被除, 然后旧的key会改名为another key, 因此。新的another key的生存时间也和原本的key一样。使用PERSIST命令可以在不删除key的情况下, 移除key的生存时间, 让key重新成为一个「持久化』(persistent) key,更新生存时间可以对一个已经带有生存时间的key执行EXPIRE命令, 新指定的生存时间会取代旧的生存时间,过期时间的精确度在Red is 2.4版本中, 过期时间的延迟在1秒钟之内——也印是, 就算key已经过期, 但它还是可能在过期之后一秒钟之内被访问到, 而在新的Red is 2.6版本中, 延迟被降低到1毫秒之内.Red is 2.1.3之前的不同之处在Red is 2.1.3之前的版本中, 修改一个带有生存时间的key会导致整个key被别除, 这一行为是受当时复制(replication) 层的限制而作出的, 现在这一限制己经被修复。可用版本:>=1.0.0时间复杂度:0(1)返回值:设置成功返回1,当key不存在或者不能为key设置生存时间时(比如在低于2.1.3版本的Red is中你尝试更新key的生存时间) , 返回0,red is>SET cache_page www.google.com”OKred is>EXPIRE cache page 30#设置过期时间为30秒(integer) 1red is>TTL cache_page+查看剩余生存时间(integer) 23red is>EXPIRE cache_page 30000+更新过期时间(integer) 1red is>TTL cache_page(integer) 29996模式:导航会话设用户停止阅览超过60秒,那么就清空阅览记录(为了减少物品推荐的计算量,并且保持推荐物品的新鲜度),和R PUSH命令在Red is中实现它:每当用户阅览一个网页的时候, 执行以下代码MULTIEXPIRE page w views.user:c userid 60EXEC时候,系统又会重新记录导航会话,继续进行物品推荐。P EXPIRE格式:p expire key milliseconds不像EXPIRE命令那样, 以秒为单位,可用版本:>-2.6.0时间复杂度:0(1)返回值:示例代码: