乐趣区

关于redis:面试必备100道Redis面试题

我把所有 Java 相干的面试题和答案都整顿成了 PDF,并且带书签目录,浏览起来十分不便

面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645

面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645

面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645

1. 为什么 redis 须要把所有数据放到内存中?

Redis 为了达到最快的读写速度将数据都读到内存中,并通过异步的形式将数据写入磁盘。所以 redis 具备疾速和数据长久化的特色。如果不将数据放在内存中,磁盘 I / O 速度为重大影响 redis 的性能。在内存越来越便宜的明天,redis 将会越来越受欢迎。

如果设置了最大应用的内存,则数据已有记录数达到内存限值后不能持续插入新值。

2. Redis 中数据库默认是多少个 db 即作用?

Redis 默认反对 16 个数据库,能够通过配置 databases 来批改这一数字。客户端与 Redis 建设连贯后会主动抉择 0 号数据库,不过能够随时应用 select 命令更换数据库。

Redis 反对多个数据库,并且每个数据库是隔离的不能共享,并且基于单机才有,如果是集群就没有数据库的概念。

3. Redis 事务其余实现

  • 基于 Lua 脚本,Redis 能够保障脚本内的命令一次性、按程序地执行,
    其同时也不提供事务运行谬误的回滚,执行过程中如果局部命令运行谬误,剩下的命令还是会持续运行完
  • 基于两头标记变量,通过另外的标记变量来标识事务是否执行实现,读取数据时先读取该标记变量判断是否事务执行实现。但这样会须要额定写代码实现,比拟繁琐

4. Redis 集群如何抉择数据库?

Redis 集群目前无奈做数据库抉择,默认在 0 数据库。

5. 应用形式

GEOADD key longitude latitude member [longitude latitude member ...]

将给定的地位对象(纬度、经度、名字)增加到指定的 key。其中,key 为汇合名称,member 为该经纬度所对应的对象。在理论使用中,当所需存储的对象数量过多时,可通过设置多 key(如一个省一个 key) 的形式对对象汇合变相做 sharding,防止单汇合数量过多。

胜利插入后的返回值:

(integer) N

其中 N 为胜利插入的个数。

前面的问题,大家能够先本人独立思考一下。

另外我把所有 Java 相干的面试题和答案都整理出来了,给大家参考一下

面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645

面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645

面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645

6. Redis 回收过程如何工作的?

7. 都有哪些方法能够升高 Redis 的内存应用状况呢?

8. 定期删除策略

9. Redis 内部结构

10. Redis 的内存占用状况怎么样?

11. 为什么要做 Redis 分区?

12. 锁互斥机制

13. RDB 和 AOF 的优缺点

14. 事务管理(ACID)概述

15. Redis 集群最大节点个数是多少?

16. Redis 长久化数据和缓存怎么做扩容?

17. Redis 与其余 key-value 存储有什么不同?

18. Redis 有哪几种数据淘汰策略?

19. Redis 提供了哪几种长久化形式?

20. Redis key 的过期工夫和永恒无效别离怎么设置?

21. Redis 常见的性能问题和解决方案

22. Redis 到底是怎么实现“左近的人”

23. Redis 为什么是单线程的

24. Redis 集群计划什么状况下会导致整个集群不可用?

25. 在抉择缓存时,什么时候抉择 redis,什么时候抉择 memcached?

26. Redis 集群计划应该怎么做?都有哪些计划?

27. 生产环境中的 redis 是怎么部署的?

28. Redis 是单线程的,如何进步多核 CPU 的利用率?

29. Redis key 的过期工夫和永恒无效别离怎么设置?

30. Redis 集群之间是如何复制的?

31. 为什么要用 redis/ 为什么要用缓存

32. 一个 Redis 实例最多能寄存多少的 keys?List、Set、Sorted Set 他们最多能寄存多少元素?

33. Redis 如何做内存优化?

34. 如何抉择适合的长久化形式?

35. 加锁机制

36. 怎么了解 Redis 事务?

37. Redis 事务的三个阶段

38. redis 过期策略都有哪些?LRU 算法晓得吗?

39. Redis 分区有什么毛病?

40. Redis 的过期策略以及内存淘汰机制

41. Redis 次要耗费什么物理资源?

42. Redis 有哪些适宜的场景?

43. 定时删除策略

44. redis 和 memcached 什么区别?为什么高并发下有时单线程的 redis 比多线程的 memcached 效率要高?

45. Redis 罕用治理命令

46. redis 常见数据结构以及应用场景剖析

47. 缓存雪崩和缓存穿透问题解决方案

48. Redis 事务相干的命令有哪几个?

49. 晓得 redis 的长久化吗?底层如何实现的?有什么长处毛病?

50. 为什么 Redis 的操作是原子性的,怎么保障原子性的?

51. Redis 为什么这么快

52. 什么是 Redis 长久化?

53. Reids 的特点

54. Redis 官网为什么不提供 Windows 版本?

55. 解说下 Redis 线程模型

56. Redis 集群会有写操作失落吗?为什么?

57. 惰性删除策略

58. MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保障 redis 中的数据都是热点数据?

59. 你晓得有哪些 Redis 分区实现计划?

60. Redis 反对哪几种数据类型?

61. 什么是 Redis?简述它的优缺点?

62. 一个字符串类型的值能存储最大容量是多少?

63. Redis 的数据淘汰策略有哪些

64. 为什么 Redis 须要把所有数据放到内存中?

65. 缓存穿透、缓存击穿、缓存雪崩解决方案?

66. Redis 集群的主从复制模型是怎么的?

67. 批改配置不重启 Redis 会实时失效吗?

68. 说说 Redis 哈希槽的概念?

69. Redis 有哪些优缺点

70. Redis 的长久化机制是什么?各自的优缺点?

71. 应用 Redis 做过异步队列吗,是如何实现的

72. 对于大量的申请怎么样解决

73. 如何保障缓存与数据库双写时的数据一致性?

74. Redis 长久化机制 (怎么保障 redis 挂掉之后再重启数据能够进行复原)

75. Redis 的内存用完了会产生什么?

76. Redis 事务反对隔离性吗

77. Redis 有哪些适宜的场景?

78. Redis 事务

79. Redis 如何实现延时队列

80. 如何抉择适合的长久化形式

81. Redis 的过期键的删除策略

82. Reids 三种不同删除策略

83. Redis 中的管道有什么用?

84. 缓存与数据库不统一怎么办

85. Redis 的数据类型,以及每种数据类型的应用场景

86. 请用 Redis 和任意语言实现一段歹意登录爱护的代码,限度 1 小时内每用户 Id 最多只能登录 5 次。具体登录函数或性能用空函数即可,不必具体写出。

87. Redis 事务的概念

88. Redis 与 memcached 相比有哪些劣势?

89. Redis 集群计划应该怎么做?都有哪些计划?

90. 分布式 Redis 是后期做还是前期规模上来了再做好?为什么?

91. watch dog 主动延期机制

92. 应用 redis 有哪些益处?

93. 如何解决 Redis 的并发竞争 Key 问题

94. Redis 常见性能问题和解决方案?

95. 单线程的 redis 为什么这么快

96. 应用过 Redis 做异步队列么,你是怎么用的?有什么毛病?

97. 咱们晓得通过 expire 来设置 key 的过期工夫,那么对过期的数据怎么解决呢?

98. 应用 redis 如何设计分布式锁?说一下实现思路?应用 zk 能够吗?如何实现?这两种有什么区别?

99. 什么是缓存穿透?如何防止?什么是缓存雪崩?何如防止?

100. Redis 事务保障原子性吗,反对回滚吗

101. Redis 如何做内存优化?

退出移动版