Skip to content

Commit bfd841a

Browse files
Update Redis.md
1 parent dd9fdec commit bfd841a

File tree

1 file changed

+41
-6
lines changed

1 file changed

+41
-6
lines changed

Redis.md

Lines changed: 41 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,40 @@
11
## Redis
22

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+
338
#### 1.什么是Redis?简述它的优缺点?
439

540
Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。
@@ -51,17 +86,17 @@ Remote Dictionary Server。
5186
Redis6.0采用多线程IO,不过命令的执行还是单线程的。
5287
Redis6.0之前,IO线程和执行线程都是单线程的。
5388

54-
#### 10.**Redis 官方为什么不提供 Windows 版本?**
89+
#### 10.Redis 官方为什么不提供 Windows 版本?
5590

5691
因为目前 Linux 版本已经相当稳定,而且用户量很大,无需开发 windows 版本,反而会带来兼容性等问题。
5792

58-
#### 11.**为什么 Redis 需要把所有数据放到内存中?**
93+
#### 11.为什么 Redis 需要把所有数据放到内存中?
5994

6095
Redis 为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。
6196

6297
所以 redis 具有快速和数据持久化的特征,如果不将数据放在内存中,磁盘 I/O 速度为严重影响 redis 的性能。
6398

64-
在内存越来越便宜的今天,redis 将会越来越受欢迎, 如果设置了最大使用的内存,则数据**已有记录数达到内存限值后不能继续插入新值。**
99+
在内存越来越便宜的今天,redis 将会越来越受欢迎, 如果设置了最大使用的内存,则数据已有记录数达到内存限值后不能继续插入新值。
65100

66101
#### 12.Redis如何设置密码及验证密码?
67102

@@ -176,15 +211,15 @@ int、embstr、raw
176211
长度小于等于44字节:embstr编码
177212
长度大于44字节:raw编码
178213

179-
#### 26.**Redis 集群方案应该怎么做?都有哪些方案?**
214+
#### 26.Redis 集群方案应该怎么做?都有哪些方案?
180215

181216
- codis
182217
- 目前用的最多的集群方案,基本和 twemproxy 一致的效果,但它支持在节点数量改变情况下,旧节点数据可恢复到新 hash 节点。
183218
- redis cluster3.0 自带的集群,特点在于他的分布式算法不是一致性 hash,而是 hash 槽的概念,以及自身支持节点设置从节点。具体看官方文档介绍。
184219
- 在业务代码层实现,起几个毫无关联的 redis 实例,在代码层,对 key 进行 hash 计算,然后去对应的redis 实例操作数据。这种方式对 hash 层代码要求比较高,考虑部分包括,节点失效后的替代算法方案,数据震荡后的自动脚本恢复,实例的监控,等等。
185220
- Java 架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm 性能调优、Spring 源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx 等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
186221

187-
#### 27.**Redis 集群方案什么情况下会导致整个集群不可用?**
222+
#### 27.Redis 集群方案什么情况下会导致整个集群不可用?
188223

189224
有 A,B,C 三个节点的集群,在没有复制模型的情况下,如果节点 B 失败了,那么整个集群就会以为缺少5501-11000 这个范围的槽而不可用。
190225

@@ -254,4 +289,4 @@ Redisson是一个高级的分布式协调Redis客服端,能帮助用户在分
254289

255290
http://blog.itpub.net/31545684/viewspace-2213990/
256291

257-
https://blog.csdn.net/weixin_34081595/article/details/92420220
292+
https://blog.csdn.net/weixin_34081595/article/details/92420220

0 commit comments

Comments
 (0)