设为首页 收藏本站
查看: 712|回复: 0

[经验分享] Redis常用命令(四)数据库管理、键管理、订阅发布

[复制链接]

尚未签到

发表于 2018-11-3 10:53:53 | 显示全部楼层 |阅读模式
  ### 数据库管理
  keys pattern  # 查找键,参数通配符查找
  keys *  # 查看所有键
  keys n*  # 查看以n开头的所有键
  keys *e  # 查看以e结尾的所有键
  keys h?llo
  keys h[ae]llo
  exists name  # 查看name这个键是否存在,存在为1,不存在为0
  type key  # 查看键对应的value的类型
  type name
  del key1 key2 ...  # 删除键及对应的值
  del addr
  rename key newkey  # 将键的名字从key改成newkey,如果newkey已存在,则覆盖
  rename num1 num3
  renamenx key newkey  # 将键的名字从key改成newkey,如果newkey已存在,则不做动作
  renamenx num3 num2
  # 通过调用sort命令对列表、集合以及有序集合进行排序
  sort key [by pattern] [limit offset count] [get pattern [get pattern]] [asc|desc] [alpha] [store destination]
  rpush numbers 9 5 1 3 2
  sort numbers  # 默认情况下sort命令会将键包含的值解释为浮点数,然后对浮点数进行排序
  sort numbers asc
  sort numbers desc
  sadd names peter jack tom
  sort names alpha  # 使用alpha让sort命令基于字典序对文字进行排序
  sort numbers limit 0 3  # 不跳过任何值,返回最开头的三个值
  sort numbers limit 3 3  #  逃过最开头的三个值,然后返回紧接着的三个值
  sort numbers store sorted-numbers  # 通过指定store destkey,我们将排序结果存储到destkey中,排序的结果会以列表的形式存储
  randomkey  # 从当前数据库中随机的返回一个键,被返回的键不会被删除
  # scan命令以渐进的方式分多次遍历整个数据库,并返回匹配给定模式的键
  # cursor是遍历时使用的游标,开始新的遍历时需要将cursor设置为0,每次调用scan,命令都会返回一个新的游标值,再次调用scan需要输入整个游标值
  # match pattern用于指定要匹配的模式
  # count number指定这次遍历最多要返回多少个键
  scan cursor [match pattern] [count number]
  scan 0
  sscan key cursor [match pattern] [count number]  # 代替可能会阻塞服务器的smembers命令,遍历集合包含的各个元素
  sscan names 0
  hscan key cursor [match pattern] [count number]  # 代替可能会阻塞服务器的hgetall命令,遍历散列包含的各个键值对
  hscan daiby::info 0
  zscan key cursor [match pattern] [count number]  # 代替可能会阻塞服务器的zrange命令,遍历有序集合包含的各个元素
  zscan "blog::paging" 0
  dbsize  # 返回数据库目前包含的键值对数量
  flushdb  # 删除当前数据库包含的所有键值对
  select num  # 切换数据库
  move key target-db  # 将当前数据库中的key移动到目标数据库中,如果目标数据库已经有同名的key,则不做动作
  move numbers 1
  flushall  # 删除redis所有数据库里面的键值对
  # 键过期功能
  # expire 和 pexpire的作用是让键在N秒钟或者N毫秒之后被删除
  # expireat 和 pexpireat的作用则是让键在指定的Unix时间到达之后被删除
  expire key seconds  # 设置键生存时间,以秒为单位,如果没有指定过期时间则一直存在,直到使用DEL移除
  expire name 5
  pexpire key milliseconds  # 设置键生存时间,以毫秒为单位,一秒钟等于1000毫秒,redis默认100毫秒一次检查键是否过期
  pexpire msg 5500
  expireat key timestamp  # 设置键过期时间,指定秒级Unix时间戳
  expireat msg 100000005
  pexpireat key milliseconds-timestamp  # 设置键过期时间,指定毫秒级Unix时间戳
  pexpireat msg 100000000000005
  pttl key  # 查看剩余生存时间,以毫秒为单位
  ttl key  # 查看剩余生存时间,以秒为单位
  ttl age
  persist  # 删除生存时间或过期时间
  persist msg
  setex key seconds value  # 设置键值及过期时间,以秒为单位
  set age 5 18
  psetex key millisecond value  # 设置键值及过期时间,以毫秒为单位;相当于执行了set和pexpire两个命令
  set age 5000 18
  ### 发布与订阅
  subscribe channel [channel...]  # 订阅给定的一个或多个频道
  subscribe news::it
  psubscribe pattern [pattern...]  # 订阅一个或多个模式,pattern参数可以包含glob风格的匹配符(*,[],?)
  psubscirbe news::[ie]t
  # 退订命令的行为在各个客户端的表现都不同,redis-cli直接退出客户端来退订,Python和ruby则需要显示的执行命令
  unsubcribe [channel|[channel...]]  # 退订指定的频道,如果没有指定则退订已订阅的所有频道
  punsubcribe [pattern|[pattern...]]  # 退订指定的模式,如果没有指定则退订已订阅的所有模式
  channels  # 显示已订阅的频道
  publish channel message  # 将消息发送至指定的频道,命令返回收到信息的订阅者数量
  pubsub channels [pattern]  # 列出至少有一个订阅者的频道
  pubsub numsub [channel...]  # 返回给定频道的订阅者数量
  pubsub numpat  # 返回被订阅的模式数量


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-630166-1-1.html 上篇帖子: redis线上部署规划 下篇帖子: centos 安装 redis-Linux架构师之路&DBA-51CTO博客
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表