1、什么是Redis?
2、Redis与其他key-value 存储有什么不同?
3、Redis的数据类型?
4、使用Redis有哪些好处?
5、Redis相比Memeached有哪些优势?
6、Memcache与Redis的区别都有哪些?
7、Redis是单进程单线程的?
8、-个字符串类型的值能存储最大容里是多少?
9、Redi s持久化机制
10、缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
11、热点数据和冷数据是什么
12、单线程的redi s为什么这么快
13、redi s的数据类型,以及每种数据类型的使用场景
14、redi s的过期策略以及内存淘汰机制
15、Redis常见性能问题和解决方案?
16、为什么Redi s的操作是原子性的,怎么保证原子性的?
17、Redi s事务
18、Redis的持久化机制是什么?各自的优缺点?
19、Redis常见性能问题和解决方案:
20、redis过期键的删除策略?
21、Redis的回收策略(淘汰策略) ?
22、为什么edis 需要把所有数据放到内存中?
23、Redis的同步机制了解么?
24、Pipeline 有什么好处,为什么要用pipeline?
25、是否使用过Redis 集群,集群的原理是什么?
26、Redis集群方案什么情况下会导致整个集群不可用?
27、Redis支持的Java客户端都有哪些?官方推荐用哪个?
27、Redis支持的Java客户端都有哪些?官方推荐用哪个?
28、Jedis与Redi sson对比有什么优缺点?
29、Redis如何设置密码及验证密码?
30、说说Redis 哈希槽的概念?
31、Redis集群的主从复制模型是怎样的?
32、Redis集群会有写操作丢失吗?为什么?
33、Redis集群之间是如何复制的?
34、Redis集群最大节点个数是多少?
35、Redis集群如何选择数据库?
36、怎么测试Redis 的连通性?
37、怎么理解Redis 事务?
38、Redis事务相关的命令有哪几个?
39、Redis key的过期时间和永久有效分别怎么设置?
40、Redis如何做内存优化?
41、Redis回收进程如何工作的?
42、都有哪些办法可以降低Redis 的内存使用情况呢?
43、Redis的内存用完了会发生什么?
44、一个Redis 实例最多能存放多少的keys? List、Set、Sorted Set 他们最多能存放多少元素
45、MlySQL里有2000w 数据: redis 中只存20w的数据,如何保证redis中的数据都是热点数据?
46、Redis最适合的场景?
47、假如Redis里面有1亿个key;其中有10w个key是以某个固定的已知的前缀开头的,如果将它们全部找出来?
48、如果有大量的key需要设置同一时间过期,一般需要注意什么?
49、使用过Redis做异步队列么,你是怎么用的?
50、使用过Redis分布式锁么,它是什么回事

Redis面试题
1、什么是 Redis?
Redis是完全开源免费的,遵守BSD协议,是-一个高性能的key-value数据库。
Redis与其他key- value缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list , set , zset , hash等数据结构的存储。
- Redis支持数据的备份,即master slave模式的数据备份。
Redis优势
性能极高 - Redis能读的速度是110000次/s,写的速度是81000次/s。丰富的数据类型 - Redis支持二进制案例的Strings,Lists,Hashes,Sets及Ordered Sets数据类型操作。
原子 - Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
丰富的特性- Redis还支持publish/subscribe,通知, key过期等等特性。
2、Redis 与其他 key-value 存储有什么不同?
Redis 有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。
Redis 的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
Redis 运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。
在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样 Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。
3、Redis 的数据类型?
Redis支持五种数据类型:string (字符串) , hash (哈希),list(列表),set(集合)及zsetsorted set:有序集合)。
我们实际项目中比较常用的是string,hash如果你是Redis中高级用户,还需要加上下面几种数据结构HyperLogLog. Geo、 Pub/Sub。
如果你说还玩过Redis Module,像BloomFilter,RedisSearch,Redis-ML,面试官得眼睛就开始发亮了。
4、使用 Redis 有哪些好处?
- 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O1
- 支持丰富数据类型,支持string,list,set,Zset,hash等
- 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行
- 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除
5、Redis 相比 Memcached 有哪些优势?
- Memcached所有的值均是简单的字符串, redis 作为其替代者,支持更为丰富的数据类
- Redis的速度比Memcached快很
- Redis可以持久化其数据

以上的面试题都已整理成册,可以关注我的公众号《老男孩的架构路》领取一线大厂Java面试题总结+各知识点学习思维导图+一份400页pdf文档的Java独家面试手册!
这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。
网友评论