Redis常见的八道面试题

本文详细解答了Redis与memcached的区别、Redis数据淘汰策略、内存使用原因、并发竞争解决方案、过期键删除策略、Redis与数据库同步方式、哨兵模式及其监控机制等八大面试常见问题,深入探讨了Redis的特性和使用技巧。
摘要由CSDN通过智能技术生成

一、memcached与redis的区别?

1.存储方式不同。memcached把数据全部存在内存之中,断电之后会挂掉,而redis虽然也用到了内存,但是会有部分数据存在硬盘中,保证数据持久性。

2.数据支持类型不同。memcached对数据支持比较简单,而redis支持数据类型较丰富,如string、list、set、sorted set、hash。

3.底层实现不同。一般调用系统函数,会消耗比较多的时间去请求,redis自己构建了vm,速度会更快。

二、redis数据的淘汰策略?

1.volatile-lru:从已经设置过期时间的数据集中,挑选最近最少使用的数据淘汰。

2.volatile-ttl:从已经设置过期时间的数据集中,挑选即将要过期的数据淘汰。

3.volatile-random:从已经设置过期时间的数据集中,随机挑选数据淘汰。

4.allkeys-lru:从所有的数据集中,挑选最近最少使用的数据淘汰。

5.allkeys-random:从所有的数据集中,随机挑选数据淘汰。

6。no-enviction:禁止淘汰数据。

三、为什么redis把所有数据都放到内存中?

redis为了达到最快的读写速度,将数据都读到内存中,并通过异步的方式将数据写入磁盘。如果不将数据放在内存中,磁盘IO速度会严重影响redis的性能。

四、redis的并发竞争问题如何解决?

首先redis为单进程单线程模式,采用队列模式将并发访问变为串行访问。redis本身时没有锁的概念的,redis对多个客户端连接并不存在竞争,但是在Jedis客户端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值