1. 什么是Redis
Redis是一种高性能的key-value数据库
2. Redis的数据类型
String,List,Hash,Set,Zset
3. 使用Redis有哪些好处
a. 为数据库做一层屏障,保护数据库避免频繁被请求
b. 提高性能
4. Redis相比Memcache有哪些优势
a. Redis可以存储五种数据类型,Memcache只能存储String类型
b. Redis的性能比Memcache要高
5. Memcache与Redis的区别有哪些?
a.Redis支持数据的持久化
b.支持存储的数据类型不一样
6.Redis是单进程单线程的吗?为他它那么高效?
是。一是因为它基于内存的,二是采用IO多路复用技术 并发处理连接(Redis 可以同时和多个客户端连接并处理请求,从而提升并发性。)三是Redis为单线程模型,避免下下文切换耗性能
7.一个字符串类型的值能存储最大容量是多少
512M
8.Redis的持久化机制是什么?各自的优缺点
RDB和AOF。
RDB是每隔一段时间保存一份快照数据。性能高,数据安全性低。
AOF是所有的命令行记录以Redis命令请求协议保存在AOF文件中。性能低,数据安全性高、
9.Redis常见性能问题和解决方案?
a.Master不要写快照,会阻塞主进程,让slave写
b.开启AOF时,设置为每秒一次
c.Master和slave在一个局域网
10.Redis过期键的删除策略
定期删除:从键空间获取键时,查看该键是否过期,过期删除
惰性删除:每隔一段时间对数据库进行检查,删除过期键
定时删除:设置键过期时间的同时创建定时器,在过期时间来临时,立即删除
11.Redis的回收策略(淘汰策略)
a.在设置了过期时间的数据集中挑选最少使用的数据淘汰
b.在设置了过期时间的数据集中挑选即将过期的数据淘汰
c在设置了过期时间的数据集中选择任意数据淘汰
d.从数据集中选择任意数据淘汰
e.从数据集中选择最少使用的数据淘汰
f.不淘汰,当有数据要写入时,抛出异常
12.为什么Redis需要把所有数据放入内存中
放在内存中可以提高读写速度,同时采用异步的方式将数据同步到磁盘
13.Redis的同步机制?
Redis可以使用主从同步,从从同步,第一次同步时,主节点做一次bgsave,并将期间的操作保存在内存buffer中,完成后,将RDB文件发送给从节点,从节点拿到RDB文件后,将数据复制到内存,再将主节期间的修改复制到从节点
14.Pipline有什么好处,为什么要使用它?
将多次IO往返的时间缩短为一次。一次IO执行批量命令
15.Redis集群的原理是什么?
单个Redis内存不足时,进行分片存储。每一片又是一个独立的主从模式
16.Redis集群方案什么情况下导致集群不可用
如果某个节点的master挂掉了,又没有复制模型,整个集群会认为整个节点所对应的插槽不可用,导致整个集群不可用。
17.Redission
20.说说Redis哈希槽的概念
Redis没有使用一致性hash而使用hash槽的概念,每个key通过CRC16校验后,对16384取模决定放到哪个槽,集群中每个节点负责一部分hash槽。