admin管理员组

文章数量:1558092

文章目录

      • 1、什么是Redis?
      • 2、Redis与其他key-value存储有什么不同?
      • 3、Redis的数据类型?
      • 4、使用Redis有哪些好处?
      • 5、Redis相比Memcached有哪些优势?
      • 6、Memcache与Redis的区别都有哪些?
      • 7、Redis是单进程单线程的?
      • 8、一个字符串类型的值能存储最大容量是多少?
      • 9、Redis持久化机制。
      • 10、缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
      • 11、热点数据和冷数据是什么?
      • 12、单线程的redis为什么这么快?
      • 13、redis的数据类型,以及每种数据类型的使用场景。
      • 14、redis的过期策略以及内存淘汰机制。
      • 15、Redis常见性能问题和解决方案?
      • 16、为什么Redis的操作是原子性的,怎么保证原子性的?
      • 17、Redis事务。
      • 18、Redis的持久化机制是什么?各自的优缺点?
      • 19、Redis常见性能问题和解决方案:
      • 20、redis过期键的删除策略?
      • 21、Redis的回收策略(淘汰策略)?
      • 22、为什么Redis需要把所有数据放到内存中?
      • 23、Redis的同步机制了解么?
      • 24、Pipeline有什么好处,为什么要用pipeline?
      • 25、是否使用过Redis集群,集群的原理是什么?
      • 26、Redis集群方案什么情况下会导致整个集群不可用?
      • 27、Redis支持的Java客户端都有哪些?官方推荐用哪个?
      • 28、Jedis与Redisson对比有什么优缺点?
      • 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、MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?
      • 46、Redis最适合的场景?
      • 47、假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如果将它们全部找出来?
      • 48、如果有大量的key需要设置同一时间过期,一般需要注意什么?
      • 49、使用过Redis做异步队列么,你是怎么用的?
      • 50、使用过Redis分布式锁么,它是什么回事?
  • 总结

最近面试的小伙伴很多,对此我整理了一份Java面试题手册:基础知识、JavaOOP、Java集合/泛型面试题、Java异常面试题、Java中的IO与NIO面试题、Java反射、Java序列化、Java注解、多线程&并发、JVM、Mysql、Redis、Memcached、MongoDB、Spring、SpringBoot、SpringCloud、RabbitMQ、Dubbo、MyBatis、ZooKeeper、数据结构、算法、Elasticsearch、Kafka、微服务、Linux等等。可以分享给大家学习。【持续更新中】

完整版Java面试题地址:【2021最新版】Java面试真题汇总

序号 内容 地址链接
1 【2021最新版】JavaOOP面试题总结 https://blog.csdn/m0_48795607/article/details/115288673
2 【2021最新版】Java基础面试题总结 https://blog.csdn/m0_48795607/article/details/115485109
3 【2021最新版】多线程&并发面试题总结 https://blog.csdn/m0_48795607/article/details/115489616
4 【2021最新版】JVM面试题总结 https://blog.csdn/m0_48795607/article/details/115555086
5 【2021最新版】Mysql面试题总结 https://blog.csdn/m0_48795607/article/details/115561030
6 【2021最新版】Memcached面试题总结 https://blog.csdn/m0_48795607/article/details/115664662
7 【2021最新版】MongoDB面试题总结 https://blog.csdn/m0_48795607/article/details/115672336
8 【2021最新版】Spring面试题总结 https://blog.csdn/m0_48795607/article/details/115738909
9 【2021最新版】Spring Boot面试题总结 https://blog.csdn/m0_48795607/article/details/115771307
10 【2021最新版】Spring Cloud面试题总结 https://blog.csdn/m0_48795607/article/details/115917190
11 【2021最新版】RabbitMQ面试题总结 https://blog.csdn/m0_48795607/article/details/116064045
12 【2021最新版】Dubbo面试题总结 https://blog.csdn/m0_48795607/article/details/116237861
13 【2021最新版】MyBatis面试题总结 https://blog.csdn/m0_48795607/article/details/116427170
14 【2021最新版】ZooKeeper面试题总结 https://blog.csdn/m0_48795607/article/details/116458096
15 【2021最新版】数据结构面试题总结 https://blog.csdn/m0_48795607/article/details/116461620
16 【2021最新版】算法面试题总结 https://blog.csdn/m0_48795607/article/details/116461620
17 【2021最新版】Elasticsearch面试题总结 https://blog.csdn/m0_48795607/article/details/116656094
18 【2021最新版】Kafka面试题总结 https://blog.csdn/m0_48795607/article/details/116659584
19 【2021最新版】微服务面试题总结 https://blog.csdn/m0_48795607/article/details/116662109
20 【2021最新版】Linux面试题总结 https://blog.csdn/m0_48795607/article/details/116798880

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(字符串)

1.hash(哈希)

2.list(列表)

3.set(集合)

4.及zsetsorted set:(有序集合)。

我们实际项目中比较常用的是string,hash如果你是Redis中高级用户,还需要加上下面几种数据结构HyperLogLog、Geo、Pub/Sub。

如果你说还玩过Redis Module,像 BloomFilter,RedisSearch,Redis-ML,面试官得眼睛就开始发亮了。

4、使用Redis有哪些好处?

答:

1、速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O1)

2、支持丰富数据类型,支持string,list,set,Zset,hash等

3、支持事务,操作都是

本文标签: 最新版面试题含答案Redis