redis键的管理

通过这篇文章你会知道如下:

  • 键过期时间如何设置成毫秒级?时间戳形式?
  • 如何显示键的剩余时间为毫秒级?
  • 如何通过通配符遍历键 ?
  • 如果是字符串的类型的键,set会将过期时间清除
  • 如何清除键的过期时间

键的过期

expire key seconds: 键在seconds秒后过期。
expireat key timestamp: 键在秒级时间戳timestamp后过期。
ttl与pttl区别

毫秒级

清除键的过期时间

persist key

对字符串类型的键set会清除设置的过期时间

遍历键

通过keys 后面可以接pattern,pattern使用的是glob风格的通配符
*代表匹配任意字符。
?代表匹配一个字符。
[]代表匹配部分字符, 例如[1, 3]代表匹配1, 3, [1-10]代表匹配1到10
的任意数字。
·\x用来做转义, 例如要匹配星号、 问号需要进行转义。


glob语法

删除以video开头的键

redis-cli keys video* | xargs redis-cli del

渐进式遍历键

scan cursor [match pattern] [count number]
  • cursor是必需参数, 实际上cursor是一个游标, 第一次遍历从0开始, 每次scan遍历完都会返回当前游标的值, 直到游标值为0, 表示遍历结束。
  • match pattern是可选参数, 它的作用的是做模式的匹配, 这点和keys的模式匹配很像。
  • count number是可选参数, 它的作用是表明每次要遍历的键个数, 默认值是10, 此参数可以适当增大
  • 返回结果分为两个部分: 第一个部分6就是下次scan需要的cursor, 第二个部分是10个键
  • 不足
    渐进式遍历可以有效的解决keys命令可能产生的阻塞问题, 但是scan并非完美无瑕, 如果在scan的过程中如果有键的变化(增加、 删除、 修改) ,164那么遍历效果可能会碰到如下问题: 新增的键可能没有遍历到, 遍历出了重复的键等情况, 也就是说scan并不能保证完整的遍历出来所有的键, 这些是我们在开发时需要考虑的
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,238评论 4 16
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • 1、redis连接 redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictR...
    君惜丶阅读 231,927评论 15 117
  • 有时候,鸡汤喝多了,就觉得没什么了。每个人有每个人自己的生活方式,只要他自己觉得幸福快乐,其实,人生的路,他想怎样...
    逍逍逍遥阅读 190评论 0 0
  • 我现在是大二,本来以为我这个学期能改变自己,但是我已经堕落了一个月了,而且之前的几个月我还是和以前一样,感觉没什么...
    茵纳尔森阅读 621评论 0 0