redis面考试试题目.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录 HYPERLINK \l _Toc30046_WPSOffice_Level1 Redis为什么使用单进程单线程方式也这么快 1 HYPERLINK \l _Toc16629_WPSOffice_Level1 单进程单线程好处 1 HYPERLINK \l _Toc32550_WPSOffice_Level1 Redis对象类型简介 2 HYPERLINK \l _Toc29476_WPSOffice_Level1 简单动态字符串 3 HYPERLINK \l _Toc5931_WPSOffice_Level1 字典 4 HYPERLINK \l _Toc18433_WPSOffice_Level1 跳跃表 4 HYPERLINK \l _Toc18421_WPSOffice_Level1 整数集合 5 HYPERLINK \l _Toc5413_WPSOffice_Level1 压缩列表 5 HYPERLINK \l _Toc31005_WPSOffice_Level1 RDB 持久化 5 HYPERLINK \l _Toc4746_WPSOffice_Level1 主从复制 6 HYPERLINK \l _Toc15990_WPSOffice_Level1 复制原理 7 HYPERLINK \l _Toc14727_WPSOffice_Level1 五、哨兵模式(sentinel) 7 HYPERLINK \l _Toc32002_WPSOffice_Level1 redis的过期策略以及内存淘汰机制 7 HYPERLINK \l _Toc27498_WPSOffice_Level1 如何应对缓存穿透和缓存雪崩问题 8 HYPERLINK \l _Toc11229_WPSOffice_Level1 如何解决redis的并发竞争key问题 8 HYPERLINK \l _Toc22573_WPSOffice_Level1 集群 9 HYPERLINK \l _Toc6189_WPSOffice_Level1 redis和memcached的区别(总结) 9 HYPERLINK \l _Toc8079_WPSOffice_Level1 1. 数据类型 9 HYPERLINK \l _Toc12473_WPSOffice_Level1 2.过期 9 HYPERLINK \l _Toc20223_WPSOffice_Level1 3.持久化,数据恢复,快照,aof 9 HYPERLINK \l _Toc26572_WPSOffice_Level1 4.集群,主从复制 9 HYPERLINK /syyong/p/6231326.html Redis为什么使用单进程单线程方式也这么快 Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是可以达到100000+的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。 Redis快的主要原因是: 完全基于内存 数据结构简单,对数据操作也简单 使用多路 I/O 复用模型 第一、二点不细讲,主要围绕第三点采用多路 I/O 复用技术来展开。 多路 I/O 复用模型是利用select、poll、epoll可以同时监察多个流的 I/O 事件的能力,在空闲的时候,会把当前线程阻塞掉,当有一个或多个流有I/O事件时,就从阻塞态中唤醒,于是程序就会轮询一遍所有的流(epoll是只轮询那些真正发出了事件的流),并且只依次顺序的处理就绪的流,这种做法就避免了大量的无用操作。这里“多路”指的是多个网络连接,“复用”指的是复用同一个线程。采用多路 I/O 复用技术可以让单个线程高效的处理多个连接请求(尽量减少网络IO的时间消耗),且Redis在内存中操作数据的速度非常快(内存内的操作不会成为这里的性能瓶颈),主要以上两点造就了Redis具有很高的吞吐量。 单进程单线程好处 代码更清晰,处理逻辑更简单 不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗 不存在多进程或者多线程导致的切换而消耗CPU 单进程单线程弊端 无法发挥多核CPU性能,不过可以通过在单机开多个Redis实例来完善; 其他一些优秀的开源软件采用的模型 多进程单线程模型:Nginx 单进程多线程模型:Memcached Redis对象类型简介 字符串:int,raw或者embstr。Long 简单动态字符串 列表:ziplist(压缩列表) 和 linkedlist(双端链表) 哈希:ziplist 或者 hashtable。 集合对象:intset 或者 hashtable。整数集合,字典。

文档评论(0)

kbook + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档