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

[经验分享] redis的那些事

[复制链接]

尚未签到

发表于 2015-7-20 03:14:59 | 显示全部楼层 |阅读模式
  

  持久化
  redis支持RDB和AOF两种持久化方式
  
  The RDB persistence performs point-in-time snapshots of your dataset at specified intervals.
  RDB是一种即时快照的存储方式,定时对数据库进行snapshot
  RDB优点:
  1 RDB对于数据备份非常容易。你可以设置1天或者30天对数据进行一次备份,这样当发生数据灾难的时候能很容易恢复
  2 由于RDB对数据备份时redis只做备份操作,所以备份最大化的使用了redis的性能,同时也导致了对于大的数据集,RDB备份快于AOF
  
  RDB缺点:
  1 如果你的需求只是要知道两个时间段中redis的变化,RDB是弱于AOF的
  2 由于RDB经常使用子进程fork()进行数据备份,所以如果当数据比较大的时候,数据备份会比较耗时
  
  AOF优点:
  1 你必须有一个AOF的fsync的策略:
  或者是不进行fsync, 或者每秒fsync一次,或者每次query查询的时候fsync
  2 AOF只记录修改log,当存储的时候由于某种原因写log失误了,使用redis-check-aof能很好的修复
  3 当redis数据太大的时候,AOF可以很好被重写到新的redis上
  
  AOF缺点:
  1 AOF通常比RDB大
  2 AOF比RDB慢
  
  --------------------------
  流水线
  

  redis是客户端和服务器端的通信交互TCP协议
  
  当客户端发送请求,服务器端接受请求并发送回复,客户端接收回复,这个过程叫做RTT(Round Trip Time)
  比如如果RTT时间是250微秒,既是服务器端每秒能处理10万个请求,那么,我们只能认为redis每秒处理4个请求
  
  server不需要等待client接收了消息之后再处理新request的技术叫做pipelining(流水线)。这个技术早在几十年前就应用在了各种协议上(比如pop3),redis也很早使用了这个技术。
  
  实验:
  $ (echo -en "PING\r\nPING\r\nPING\r\n"; sleep 1) | nc localhost 6379
  当调用这个例子的时候:
  server一次返回:
  +PONG
  +PONG
  +PONG
  
  而不是返回一次PONG,过了RTT时间再返回PONG,这个例子就说明了redis使用pipelining
  
  注:nc命令说明请看:
    http://www.iyunv.com/faraway/archive/2008/08/30/1280070.html
  
  
  ---------------------------------
  订阅
  
  redis支持订阅(subscribe)

    当一个client订阅一个或多个变量,其他客户端修改了变量并publish之后,这个客户端会收到消息
  
  例子:
  Client1:
  SUBSCRIBE first second
  
  Client2:
  PUBLISH second Hello
  
  client1显示:
  message
  second
  Hello2
  
  
  redis还支持模式订阅(psubscribe命令)
  PSUBSCRIBE f*
  
  ---------------------------------
  参考文档:

http://redis.io/documentation  ---------------------------------
  作者:yjf512(轩脉刃)  
  出处:http://www.iyunv.com/yjf512/  
  本文版权归yjf512和cnBlog共有,欢迎转载,但未经作者同意必须保留此段声明

运维网声明 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-88347-1-1.html 上篇帖子: 神奇的Redis 下篇帖子: X皮书之初识Redis(上)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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