redis常见面试题

1.redis常见使用场景
seesion缓存、全页缓存、缓存数据、消息队列、排行榜/计数器、发布/订阅

2.redis与memcached的区别
redis支持数据类型多 redis支持持久化 redis速度快
Memecache把数据全部存在内存之中,Redis有部份存在硬盘上
value大小:redis最大可以达到1GB,而memcache只有1MB

3.redis持久化方式,两者的对比
RDB 定时快照  可能存在短时间内的数据丢失 快照可以归档 
AOF 写日志文件 日志可以重写

4.redis数据类型
字符串       整数值  简单动态字符串 
列表          压缩列表 双向链表
hash         压缩列表 字典
集合          整数集合 字典
有序集合   压缩列表 跳跃表和字典

5.清除过期键方法
惰性删除:访问时判断是否过
定期删除:定时任务判断是否过期

6.redis如何实现主从
全量同步:一般发生在Slave初始化阶段,向所有从服务器发送RDB快照文件
增量同步:主服务器每执行一个写命令就会向从服务器发送相同的写命令,从服务器接收并执行收到的写命令。

7.Redis为什么这么快
  1. Redis是纯内存数据库,一般都是简单的存取操作,线程占用的时间很多,时间的花费主要集中在IO上,所以读取速度快。
  2. 再说一下IO,Redis使用的是非阻塞IO,IO多路复用,使用了单线程来轮询描述符,将数据库的开、关、读、写都转换成了事件,减少了线程切换时上下文的切换和竞争。
  3. Redis采用了单线程的模型,保证了每个操作的原子性,也减少了线程的上下文切换和竞争。
  4. 另外,数据结构也帮了不少忙,Redis全程使用hash结构,读取速度快,还有一些特殊的数据结构,对数据存储进行了优化,如压缩表,对短数据进行压缩存储,再如,跳表,使用有序的数据结构加快读取的速度。
  5. 还有一点,Redis采用自己实现的事件分离器,效率比较高,内部采用非阻塞的执行方式,吞吐能力比较大。

8.一些优秀的开源软件采用的模型
单进程单线程模型:Redis
单进程多线程模型:Memcached
多进程单线程模型:Nginx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值