|
1 | 1 | ## Redis |
2 | 2 |
|
| 3 | +* [1.什么是Redis?简述它的优缺点?](#1什么是redis简述它的优缺点) |
| 4 | +* [2.Redis相比memcached有哪些优势?](#2redis相比memcached有哪些优势) |
| 5 | +* [3.Redis有哪些数据结构?](#3redis有哪些数据结构) |
| 6 | +* [4.Redis主要消耗什么物理资源?](#4redis主要消耗什么物理资源) |
| 7 | +* [5.Redis的全称是什么?](#5redis的全称是什么) |
| 8 | +* [6.一个字符串类型的值能存储最大容量是多少?](#6一个字符串类型的值能存储最大容量是多少) |
| 9 | +* [7.Redis为什么那么快?](#7redis为什么那么快) |
| 10 | +* [8.Redis如何实现分布式锁?](#8redis如何实现分布式锁) |
| 11 | +* [9.Redis是单线程还是多线程?](#9redis是单线程还是多线程) |
| 12 | +* [10.Redis 官方为什么不提供 Windows 版本?](#10redis-官方为什么不提供-windows-版本) |
| 13 | +* [11.为什么 Redis 需要把所有数据放到内存中?](#11为什么-redis-需要把所有数据放到内存中) |
| 14 | +* [12.Redis如何设置密码及验证密码?](#12redis如何设置密码及验证密码) |
| 15 | +* [13.Redis集群如何选择数据库?](#13redis集群如何选择数据库) |
| 16 | +* [14.缓存失效?缓存穿透?缓存雪崩?缓存并发?](#14缓存失效缓存穿透缓存雪崩缓存并发) |
| 17 | +* [15.Redis中的热key怎么处理?](#15redis中的热key怎么处理) |
| 18 | +* [16.Redis中的大key怎么处理?](#16redis中的大key怎么处理) |
| 19 | +* [17.使用Redis统计网站的UV,应该怎么做?](#17使用redis统计网站的uv应该怎么做) |
| 20 | +* [18.Redis事务机制了解过吗?](#18redis事务机制了解过吗) |
| 21 | +* [19.Redis key的淘汰策略有哪些?](#19redis-key的淘汰策略有哪些) |
| 22 | +* [20.Redis在什么情况下会触发key的回收?](#20redis在什么情况下会触发key的回收) |
| 23 | +* [21.Redis的持久化了解过吗?](#21redis的持久化了解过吗) |
| 24 | +* [22.Redis在集群种查找key的时候,是怎么定位到具体节点的?](#22redis在集群种查找key的时候是怎么定位到具体节点的) |
| 25 | +* [23.Redis集群各个节点之间是怎么保持数据一致性的?](#23redis集群各个节点之间是怎么保持数据一致性的) |
| 26 | +* [24.用Redis做延时队列,具体应该怎么实现?](#24用redis做延时队列具体应该怎么实现) |
| 27 | +* [25.Redis String的内部编码有哪些?](#25redis-string的内部编码有哪些) |
| 28 | +* [26.Redis 集群方案应该怎么做?都有哪些方案?](#26redis-集群方案应该怎么做都有哪些方案) |
| 29 | +* [27.Redis 集群方案什么情况下会导致整个集群不可用?](#27redis-集群方案什么情况下会导致整个集群不可用) |
| 30 | +* [28.MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据都是热点数据?](#28mysql-里有-2000w-数据redis-中只存-20w-的数据如何保证-redis-中的数据都是热点数据) |
| 31 | +* [29.Redis有哪些适合的场景?](#29redis有哪些适合的场景) |
| 32 | +* [30.Redis和Redisson有什么关系?](#30redis和redisson有什么关系) |
| 33 | +* [31.Redis中的管道有什么用?](#31redis中的管道有什么用) |
| 34 | +* [32.Redis如何做内存优化?](#32redis如何做内存优化) |
| 35 | +* [参考链接](#参考链接) |
| 36 | + |
| 37 | + |
3 | 38 | #### 1.什么是Redis?简述它的优缺点? |
4 | 39 |
|
5 | 40 | Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。 |
@@ -51,17 +86,17 @@ Remote Dictionary Server。 |
51 | 86 | Redis6.0采用多线程IO,不过命令的执行还是单线程的。 |
52 | 87 | Redis6.0之前,IO线程和执行线程都是单线程的。 |
53 | 88 |
|
54 | | -#### 10.**Redis 官方为什么不提供 Windows 版本?** |
| 89 | +#### 10.Redis 官方为什么不提供 Windows 版本? |
55 | 90 |
|
56 | 91 | 因为目前 Linux 版本已经相当稳定,而且用户量很大,无需开发 windows 版本,反而会带来兼容性等问题。 |
57 | 92 |
|
58 | | -#### 11.**为什么 Redis 需要把所有数据放到内存中?** |
| 93 | +#### 11.为什么 Redis 需要把所有数据放到内存中? |
59 | 94 |
|
60 | 95 | Redis 为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。 |
61 | 96 |
|
62 | 97 | 所以 redis 具有快速和数据持久化的特征,如果不将数据放在内存中,磁盘 I/O 速度为严重影响 redis 的性能。 |
63 | 98 |
|
64 | | -在内存越来越便宜的今天,redis 将会越来越受欢迎, 如果设置了最大使用的内存,则数据**已有记录数达到内存限值后不能继续插入新值。** |
| 99 | +在内存越来越便宜的今天,redis 将会越来越受欢迎, 如果设置了最大使用的内存,则数据已有记录数达到内存限值后不能继续插入新值。 |
65 | 100 |
|
66 | 101 | #### 12.Redis如何设置密码及验证密码? |
67 | 102 |
|
@@ -176,15 +211,15 @@ int、embstr、raw |
176 | 211 | 长度小于等于44字节:embstr编码 |
177 | 212 | 长度大于44字节:raw编码 |
178 | 213 |
|
179 | | -#### 26.**Redis 集群方案应该怎么做?都有哪些方案?** |
| 214 | +#### 26.Redis 集群方案应该怎么做?都有哪些方案? |
180 | 215 |
|
181 | 216 | - codis |
182 | 217 | - 目前用的最多的集群方案,基本和 twemproxy 一致的效果,但它支持在节点数量改变情况下,旧节点数据可恢复到新 hash 节点。 |
183 | 218 | - redis cluster3.0 自带的集群,特点在于他的分布式算法不是一致性 hash,而是 hash 槽的概念,以及自身支持节点设置从节点。具体看官方文档介绍。 |
184 | 219 | - 在业务代码层实现,起几个毫无关联的 redis 实例,在代码层,对 key 进行 hash 计算,然后去对应的redis 实例操作数据。这种方式对 hash 层代码要求比较高,考虑部分包括,节点失效后的替代算法方案,数据震荡后的自动脚本恢复,实例的监控,等等。 |
185 | 220 | - Java 架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm 性能调优、Spring 源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx 等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代! |
186 | 221 |
|
187 | | -#### 27.**Redis 集群方案什么情况下会导致整个集群不可用?** |
| 222 | +#### 27.Redis 集群方案什么情况下会导致整个集群不可用? |
188 | 223 |
|
189 | 224 | 有 A,B,C 三个节点的集群,在没有复制模型的情况下,如果节点 B 失败了,那么整个集群就会以为缺少5501-11000 这个范围的槽而不可用。 |
190 | 225 |
|
@@ -254,4 +289,4 @@ Redisson是一个高级的分布式协调Redis客服端,能帮助用户在分 |
254 | 289 |
|
255 | 290 | http://blog.itpub.net/31545684/viewspace-2213990/ |
256 | 291 |
|
257 | | -https://blog.csdn.net/weixin_34081595/article/details/92420220 |
| 292 | +https://blog.csdn.net/weixin_34081595/article/details/92420220 |
0 commit comments