文档:面试题:redis
链接:笔记
179.redis 是什么?都有哪些使用场景?
场景:
180.redis 有哪些功能?
主从复制
哨兵模式
持久化
集群
基于本机内存缓存
https://www.cnblogs.com/jxxblogs/p/12234755.html
181.redis 和 memecache 有什么区别?
https://www.sohu.com/a/234779580_130419
相同点:内存数据库
不同点:
数据类型上来看:
memecache:支持String类型,key\value的数据结构
redis:支持多种数据结构
mamacache可以缓存视频与图片。
持久化:mamacachae将查询出来的数据保存到内存中。服务宕机之后,数据无法恢复
redis:有持久化机制:Aof、Rdb。可以将数据持久化到磁盘上。可以恢复数据
182.redis 为什么是单线程的?
因为单线程操作效率是最高,对这块内存的数据进行多次读写的时候,都是在一个CPU上完成的,所以它是单线程处理这个事
183.什么是缓存穿透?怎么解决?
就查一条数据中也没有,redis里也没有的数据。高并发的访问这一条数据。导致服务器宕机。
解决:查不到就返回null、布隆过滤
184.redis 支持的数据类型有哪些?
List String 、Set、ZSet、Hash
185.redis 支持的 java 客户端都有哪些?
jedis、redisson
186.jedis 和 redisson 有哪些区别?
jedis是Java实现客户端,有比较全面的额redis指令。
redisson适用与分布式。
jedis:使用阻塞io
redisson 使用netty
187.怎么保证缓存和数据库数据的一致性?
不一致原因:
- 数据库有数据,缓存没有数据;
- 数据库有数据,缓存也有数据,数据不相等;
- 数据库没有数据,缓存有数据。
先删除缓存,在更新数据库。
在增删改的时候都删除一次缓存。
188.redis 持久化有几种方式?
Aof(日志的方式)
Rdb(每隔一段时间进行保存一次数据到磁盘上)
189.redis 怎么实现分布式锁?
190.redis 分布式锁有什么缺陷?
容易出现缓存雪崩、缓存击穿、缓存一数据库双写不一致性
191.redis 如何做内存优化?
192.redis 淘汰策略有哪些?
设置过期时间:最近最少未使用
已经快到过期时间
没有过期时间:最近最少未使用
一直未使用
随机访问,淘汰数据
一直不淘汰,超过报错
193.redis 常见的性能问题有哪些?该如何解决?