千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:郑州千锋IT培训  >  面试技巧  >  Java工程师面试技巧之Redis相关问题及答案

Java工程师面试技巧之Redis相关问题及答案

来源:千锋教育
发布人:Yolanda
时间: 2019-06-06 09:42:27

  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 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。

图片13

  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

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>