分布式缓存Redis使用方法定义.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式缓存 Redis使用方法 作者:张小博 ,新炬网络技术专家。 缓存在系统中的作用: 1、少量数据存储,高速读写访问。通过数据全部 in-momery 的方式来保证高速访 问,同时提供数据落地的功能,实际这正是 Redis 最主要的适用场景。 2、海量数据存储, 分布式系统支持, 数据一致性保证, 方便的集群节点添加 / 删除。 Redis3.0 以后开始支持集群,实现了半自动化的数据分片,不过需要 smart-client 的 支持。 Redis全角度介绍 : 网络模型: Redis 使用单线程的 IO 复用模型,自己封装了一个简单的 AeEvent 事 件处理框架,主要实现了 epoll 、kqueue 和 select ,对于单纯只有 IO 操作来说,单线 程可以将速度优势发挥到最大,但是 Redis 也提供了一些简单的计算功能,比如排序、 聚合等,对于这些操作,单线程模型实际会严重影响整体吞吐量, CPU计算过程中,整 个 IO 调度都是被阻塞住的。 内存管理: Redis 使用现场申请内存的方式来存储数据,并且很少使用 free-list 等方式来优化内存分配,会在一定程度上存在内存碎片, Redis 跟据存储命令参数,会 把带过期时间的数据单独存放在一起, 并把它们称为临时数据, 非临时数据是永远不会 被剔除的,即便物理内存不够,导致 swap 也不会剔除任何非临时数据(但会尝试剔除 部分临时数据) ,这点上 Redis 更适合作为存储而不是 cache 。 数据一致性问题: 在一致性问题上,个人感觉 redis 没有 memcached实现的好, Memcached提供了 cas 命令,可以保证多个并发访问操作同一份数据的一致性问题。 Redis 没有提供 cas 命令,并不能保证这点,不过 Redis 提供了事务的功能,可以保证 一串 命令的原子性,中间不会被任何操作打断。 支持的 KEY类型:Redis 除 key/value 之外,还支持 list,set,sorted set,hash 等 众多数据结构,提供了 KEYS进行枚举操作,但不能在线上使用,如果需要枚举线上数 据, Redis 提供了工具可以直接扫描其 dump文件,枚举出所有数据, Redis 还同时提供 1 了持久化和复制等功能。 客户端支持: redis 官方提供了丰富的客户端支持,包括了绝大多数编程语言的客 户端,比如我此次测试就选择了官方推荐了 Java 客户端 Jedis. 里面提供了丰富的接口、 方法使得开发人员无需关系内部的数据分片、 读取数据的路由等, 只需简单的调用即可, 非常方便。 数据复制: 从 2.8 开始, Slave 会周期性(每秒一次)发起一个 Ack 确认复制流 (replication stream )被处理进度, Redis 复制工作原理详细过程如下: 1. 如果设置了一个 Slave ,无论是第一次连接还是重连到 Master ,它都会发出一 个 SYNC命令; 2. 当 Master 收到 SYNC命令之后,会做两件事: a) Master 执行 BGSAVE:后台写数据到磁盘(

文档评论(0)

肖四妹学教育 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档