最新JAVA面试题总结之Redis.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、什么是Redis? 回答:Redis是一个基于内存的高性能key-value数据库; 应用场景:1)会话缓存(Session Cache) 2)全页缓存(FPC)3)队列 4)排行榜/计数器 5)发布/订阅 2、使用Redis有哪些好处? 回答:1)速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1); 2)支持丰富的数据类型,支持string,list,set,sorted set,hash; 3)支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行; 4)丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除; 3、Redis的特点? 回答:Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过10万次读写操作,是已知性能最快的Key-Value DB. Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像memcached只能保存1MB的数据,另外Redis也可以对存入的Key-Value设置expire时间。 Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。 4、为什么Redis需要把所有数据放到内存中? 回答:Redis为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。所以redis具有快速和数据持久化的特征。如果不将数据放在内存中,磁盘I/O速度会严重影响redis的性能。如果设置了最大使用的内存,则数据已有记录数达到内存限值后不能继续插入新值。 5、Redis常见的性能问题怎么解决? 回答:1) Master最好不要做任何持久化工作,如RDB内存快照和AOF日志文件; 2)如果数据比较重要,某个Slave开启AOF备份数据,策略设置为每秒同步一次; 3) 为了主从复制的速度和连接的稳定性,Master和Slave最好在同一个局域网内; 4)尽量避免在压力很大的主库上增加从库; 5)主从复制不要用图状结构,用单向链表结构更为稳定,即:Master <- Slave1 <- Slave2 <- Slave3…; 这样的结构方便解决单点故障问题,实现Slave对Master的替换。如果Master挂了,可以立刻启用Slave1做Master,其他不变。 6、Redis与memcached有什么区别? 回答:1) memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型; 2) redis的速度比memcached快很多; 3) redis可以持久化其数据; 7、Redis有哪些数据结构? 回答:常用的五种数据结构(string、list、set、hash、zset) 1)string :可以是字符串,整数或者浮点数,对整个字符串或者字符串中的一部分执行操作,对整个整数或者浮点执行自增(increment)或者自减(decrement)操作。 2)list:一个链表,链表上的每个节点都包含了一个字符串,虫链表的两端推入或者弹出元素,根据偏移量对链表进行修剪(trim),读取单个或者多个元素,根据值查找或者移除元素。 3)set:包含字符串的无序收集器(unordered collection)、并且被包含的每个字符串都是独一无二的。添加,获取,移除单个元素,检查一个元素是否存在于集合中,计算交集,并集,差集,从集合里面随机获取元素。 4)hash:包含键值对无序散列表,添加,获取,移除当键值对,获取所有键值对。 5)zset :字符串成员(member)与浮点数分值(score)之间的有序映射,元素的排列顺序由分值的大小决定。添加,获取,删除单个元素,根据分值范围(range)或者成员来获取元素。 8、Redis持久化方案区别以及优缺点? 回答:redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)。 RDB方式:是一种快照式的持久化方法,将某一时刻的数据持久化到磁盘中。 1)redis在进行数据持久化的过程中,会先将数据写入到一个临时文件中,待持久化过程都结束了,才会用这个临时文件替换上次持久化好的文件。正是这种特性,让我们可以随时来进行备份,因为快照文件总是完整可用的。 2)对于RDB方式,redis会单独创建(fork)一个子进程来进行持久化,

文档评论(0)

pehalf + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7201060146000004

1亿VIP精品文档

相关文档