学分高考 Java

Java开发人员怎么面试?常见Redis面试题有哪些?

发布时间: 2022-03-09 21:19:16
Java开发人员怎么面试?常见Redis面试题有哪些?Redis是目前各大企业都在使用的人们技术,也是企业选拔人才时考核的一个难题。有很多同学只是简单了解Redis的应用,但对于为什么要用Redis以及企业面试中有关Redis的问题却答不上来。接下来优逸客就给大家简单分析一下。

为什么使用Redis?

项目中使用Redis,主要考虑性能和并发两个方面。在大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常。这个时候,就需要使用Redis做一个缓冲操作,让请求先访问到Redis,而不是直接访问数据库。不过,Redis也有慢查询操作。根据交互效果的不同,响应时间没有固定标准。在理想状态下,我们的页面跳转需要在瞬间解决,对于页内操作则需要在刹那间解决。

Redis的数据类型有哪些?

数据类型:

1)String:一般做一些复杂的计数功能的缓存;

2)Hash:存储二维数据或对象;

3)List:可实现队列,栈及有序的数据存储;

4)Set:常用于黑名单,微信抽奖等功能,应用场景多变;

5)SortedSet:做排行榜应用,取TOPN操作;延时任务;做范围查找。

Redis持久化机制是什么?

Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的。

实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由子进程写入到临时文件中,持久化的过程结束了,再用这个临时文件替换上次的快照文件,然后子进程退出,内存释放。

RDB是Redis默认的持久化方式。按照一定的时间周期策略把内存的数据以快照的形式保存到硬盘的二进制文件。即Snapshot快照存储,对应产生的数据文件为dump.rdb,通过配置文件中的save参数来定义快照的周期。( 快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。)

AOF:Redis会将每一个收到的写命令都通过Write函数追加到文件最后,类似于MySQL的binlog。当Redis重启是会通过重新执行文件中保存的写命令来在内存中重建整个数据库的内容。

当两种方式同时开启时,数据恢复Redis会优先选择AOF恢复。

单线程的Redis为什么这么快?

1)纯内存操作

2)单线程操作,避免了频繁的上下文切换

3)采用了非阻塞I/O多路复用机制

Memcache与Redis的区别都有哪些?

1)存储方式 Memecache把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小。Redis有部份存在硬盘上,redis可以持久化其数据。

2)数据支持类型 memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型 ,提供list,set,zset,hash等数据结构的存储。

3)使用底层模型不同 它们之间底层实现方式 以及与客户端之间通信的应用协议不一样。Redis直接自己构建了VM机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。

4)value 值大小不同:Redis 最大可以达到1gb;memcache只有1mb。

5)redis的速度比memcached快很多

6)Redis支持数据的备份,即master-slave模式的数据备份。

如果你想学习Java编程开发,又没有什么编程基础,可以通过专业的方式学习Java编程,专业的学习能帮助零基础的人快速入门Java。

温馨提示:
本文【Java开发人员怎么面试?常见Redis面试题有哪些?】由作者教培参考提供。该文观点仅代表作者本人,学分高考系信息发布平台,仅提供信息存储空间服务,若存在侵权问题,请及时联系管理员或作者进行删除。
我们采用的作品包括内容和图片部分来源于网络用户投稿,我们不确定投稿用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的权利,请联系我站将及时删除。
内容侵权、违法和不良信息举报
Copyright @ 2024 学分高考 All Rights Reserved 版权所有. 湘ICP备17021685号