【黑马程序员】Redis面试题及分布式集群.doc

【黑马程序员】Redis面试题及分布式集群.doc

ID:59434422

大小:23.50 KB

页数:9页

时间:2020-05-21

【黑马程序员】Redis面试题及分布式集群.doc_第1页
【黑马程序员】Redis面试题及分布式集群.doc_第2页
【黑马程序员】Redis面试题及分布式集群.doc_第3页
【黑马程序员】Redis面试题及分布式集群.doc_第4页
【黑马程序员】Redis面试题及分布式集群.doc_第5页
资源描述:

《【黑马程序员】Redis面试题及分布式集群.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、【黑马程序员】Redis面试题及分布式集群1.使用Redis有哪些好处?(1)速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)(2)支持丰富数据类型,支持string,list,set,sortedset,hash(3)支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行(4)丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除2.redis相比memcached有哪些优势?(1)memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型(2)red

2、is的速度比memcached快很多(3)redis可以持久化其数据3.redis常见性能问题和解决方案:(1)Master最好不要做任何持久化工作,如RDB内存快照和AOF日志文件(2)如果数据比较重要,某个Slave开启AOF备份数据,策略设置为每秒同步一次(3)为了主从复制的速度和连接的稳定性,Master和Slave最好在同一个局域网内(4)尽量避免在压力很大的主库上增加从库(5)主从复制不要用图状结构,用单向链表结构更为稳定,即:Master<-Slave1<-Slave2<-Slave3…这样的结构方便解决单点故障问题,实现Slave对Master的替换。如果Master挂了

3、,可以立刻启用Slave1做Master,其他不变。4.MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据相关知识:redis内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。redis提供6种数据淘汰策略:voltile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰volatile-random:从已设置过期时间的数据集(server.db[i].expi

4、res)中任意选择数据淘汰allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰no-enviction(驱逐):禁止驱逐数据5.Memcache与Redis的区别都有哪些?1)、存储方式    Memecache把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小。    Redis有部份存在硬盘上,这样能保证数据的持久性。2)、数据支持类型    Memcache对数据类型支持相对简单。    Redis有复杂的数据类型。3)、使用底层模型不

5、同    它们之间底层实现方式以及与客户端之间通信的应用协议不一样。    Redis直接自己构建了VM机制,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。4),value大小    redis最大可以达到1GB,而memcache只有1MB6.Redis常见的性能问题都有哪些?如何解决?1).Master写内存快照,save命令调度rdbSave函数,会阻塞主线程的工作,当快照比较大时对性能影响是非常大的,会间断性暂停服务,所以Master最好不要写内存快照。2).MasterAOF持久化,如果不重写AOF文件,这个持久化方式对性能的影响是最小的,但是AOF文件会不断增

6、大,AOF文件过大会影响Master重启的恢复速度。Master最好不要做任何持久化工作,包括内存快照和AOF日志文件,特别是不要启用内存快照做持久化,如果数据比较关键,某个Slave开启AOF备份数据,策略为每秒同步一次。3).Master调用BGREWRITEAOF重写AOF文件,AOF在重写的时候会占大量的CPU和内存资源,导致服务load过高,出现短暂服务暂停现象。4).Redis主从复制的性能问题,为了主从复制的速度和连接的稳定性,Slave和Master最好在同一个局域网内7.redis最适合的场景Redis最适合所有数据in-momory的场景,虽然Redis也提供持久化功

7、能,但实际更多的是一个disk-backed的功能,跟传统意义上的持久化有比较大的差别,那么可能大家就会有疑问,似乎Redis更像一个加强版的Memcached,那么何时使用Memcached,何时使用Redis呢?如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。2、Redis支持数据的备份,即

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。