Java工程师面试技巧之Redis相关问题及答案
Redis是Nosql数据库,是一个高性能的key-value数据库,得到了很多企业的重视及应用,在Java工程师面试的过程中,企业也会重点考察求职者对Redis的掌握程度。接下来千锋郑州Java培训小编就给大家分享一些常见的Redis面试题及答案,希望能够帮助小伙伴们顺利通过面试考验。
1、Redis的特点是什么?
Redis的性能非常出色,每秒可以处理超过10万次读写操作,是已知性能最快的Key-Value DB。Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像memcached只能保存1MB的数据,可以用来实现很多有用的功能。Redis可以对存入的Key-Value设置expire时间,因此也可以被当作一个功能加强版的memcached来用。
Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。
2、Memcache与Redis的区别都有哪些?
1)数据支持类型:Memcache对数据类型支持相对简单。 Redis有复杂的数据类型。
2)储方式:Memecache把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小。 Redis有部份存在硬盘上,这样能保证数据的持久性。
3)使用底层模型不同:它们之间底层实现方式 以及与客户端之间通信的应用协议不一样。 Redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。
3、为什么Redis需要把所有数据放到内存中?
Redis为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。所以redis具有快速和数据持久化的特征。如果不将数据放在内存中,磁盘I/O速度为严重影响redis的性能。如果设置了最大使用的内存,则数据已有记录数达到内存限值后不能继续插入新值。
4、Redis的并发竞争问题如何解决?
Redis为单进程单线程模式,采用队列模式将并发访问变为串行访问。Redis本身没有锁的概念,Redis对于多个客户端连接并不存在竞争,但是在Jedis客户端对Redis进行并发访问时会发生连接超时、数据转换错误、阻塞、客户端关闭连接等问题,这些问题均是由于客户端连接混乱造成。对此有2种解决方法:
客户端角度,为保证每个客户端间正常有序与Redis进行通信,对连接进行池化,同时对客户端读写Redis操作采用内部锁synchronized。需要应用程序自己处理资源的同步,可以使用的方法比较通俗,可以使用synchronized也可以使用lock。
服务器角度,利用setnx实现锁,需要用到Redis的setnx命令,但是需要注意一些问题。
5、Redis持久化的几种方式
1)快照(snapshots)。缺省情况情况下,Redis把数据快照存放在磁盘上的二进制文件中,文件名为dump。rdb。你可以配置Redis的持久化策略,例如数据集中每N秒钟有超过M次更新,就将数据写入磁盘;或者你可以手工调用命令SAVE或BGSAVE。
2)AOF。快照模式并不十分健壮,当系统停止,或者无意中Redis被kill掉,最后写入Redis的数据就会丢失。Append-only文件模式是另一种选择,你可以在配置文件中打开AOF模式。
3)虚拟内存方式。当你的key很小而value很大时,使用VM的效果会比较好。因为这样节约的内存比较大。当你的key不小时,可以考虑使用一些非常方法将很大的key变成很大的value,比如你可以考虑将key,value组合成一个新的value。
6、Redis最适合的场景
会话缓存(Session Cache)、全页缓存(FPC)、队列、排行榜/计数器、发布/订阅。
想要更快更好的通过企业面试,你需要对企业的招聘需求有所了解,专业的Java开发技能是前提。千锋郑州Java培训以就业为导向、以理论打基础、以实战项目驱动教学过程和内容,大牛讲师全程面授带你一站式搞定企业常用的核心知识点!
猜你喜欢LIKE
最新文章NEW
相关推荐HOT
更多>>热门推荐
如何在面试中得高分?一般要注意哪些方面
沸UI设计师如何应对面试?哪些细节不可忽略
热求职者如何应对面试?需要特别注意什么
热Java面试必问什么技术?如何搞定Spring框架
新求职过程中如何抓住机遇?要注意哪些要点
郑州Web前端培训之JavaScript面试题推荐
郑州云计算培训机构之常见面试题及答案
如何开始求职生涯?个人简历有哪几种类型
初入职场大学生如何应对?怎么规避职场风险
企业对Python人才的招聘需求有哪些?
职场新人如何找到适合自己性格的工作?
大学生如何尽快获得职位?需要注意哪几点
毕业生如何应对求职?推荐10条参考标准
常见UI设计面试题有哪些?郑州UI培训好不