Skip to content

Commit 5edcc80

Browse files
committed
📝redis
1 parent 8fd9114 commit 5edcc80

File tree

7 files changed

+474
-476
lines changed

7 files changed

+474
-476
lines changed
-33.3 KB
Binary file not shown.

docs/data-store/Redis/Redis-Cluster.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
转自 我没有三颗心脏
22

3+
> Redis 单节点存在单点故障问题,为了解决单点问题,一般都需要对 Redis 配置从节点,然后使用哨兵来监听主节点的存活状态,如果主节点挂掉,从节点能继续提供缓存功能
4+
35
## 一、Redis 集群概述
46

57
### Redis 主从复制

docs/data-store/Redis/Redis-Datatype.md

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
1-
> Redis 有哪几种数据类型,各自底层是怎么实现的?
2-
>
3-
> 你们项目中哪个地方用到了什么类型,怎么使用的?
4-
>
5-
> 和 Java 中相似的数据结构的对比,说一下?
6-
7-
8-
1+
## Redis的五种基本数据类型
92

3+
由于 Redis 是基于标准 C 写的,只有最基础的数据类型,因此 Redis 为了满足对外使用的 5 种数据类型,开发了属于自己**独有的一套基础数据结构**,使用这些数据结构来实现5种数据类型。
104

5+
**Redis** 有 5 种基础数据结构,它们分别是:**string(字符串)****list(列表)****hash(字典)****set(集合)****zset(有序集合)**
116

7+
Redis底层的数据结构包括:**简单动态数组SDS、链表、字典、跳跃链表、整数集合、压缩列表、对象。**
128

13-
## Redis的五种基本数据类型
9+
Redis 为了平衡空间和时间效率,针对 value 的具体类型在底层会采用不同的数据结构来实现,其中哈希表和压缩列表是复用比较多的数据结构,如下图展示了对外数据类型和底层数据结构之间的映射关系:
1410

15-
**Redis** 有 5 种基础数据结构,它们分别是:**string(字符串)****list(列表)****hash(字典)****set(集合)****zset(有序集合)**
11+
![](https://tva1.sinaimg.cn/large/007S8ZIlly1ge0k8do3s3j30im0el7aa.jpg)
1612

1713
> 安装好 Redis,我们可以使用 `redis-cli` 来对 Redis 进行命令行的操作,当然 Redis 官方也提供了在线的调试器,你也可以在里面敲入命令进行操作:http://try.redis.io/#run
1814

docs/data-store/Redis/Redis-Transaction.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363

6464
- Case3:全体连坐(某一条操作记录报错的话,exec后所有操作都不会成功)
6565

66-
![redis-transaction-case3.png](http://ww1.sinaimg.cn/large/9b9f09a9ly1g9yqy1ebddj20eh04z3yi.jpg)
66+
![image-20200821180050813](https://cdn.jsdelivr.net/gh/Jstarfish/picBed/img/20200821180100.png)
6767

6868
- Case4:冤头债主(示例中 k1被设置为String类型,decr k1可以放入操作队列中,因为只有在执行的时候才可以判断出语句错误,其他正确的会被正常执行)
6969

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
想读 Spring 源码,但是又不知道从哪里开始读,是先看 IOC 还是先看 AOP 呢,迷惑
2+
3+
Spring涵盖的东西太多了,如果不能进行针对性的阅读,很容易迷失。
4+
5+
程序员学语言,学框架都是从 Hello World 开始的,看源码为什么不也从 Hello World 开始呢?
6+
7+
```java
8+
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
9+
Object bean = context.getBean("JavaKeeper");
10+
```
11+
12+
运行完这段代码后,问自己两个问题:
13+
14+
- **容器创建时做了什么?**
15+
- **getBean()时又做了什么?**
16+
17+
18+
19+
![](https://cdn.jsdelivr.net/gh/Jstarfish/picBed/img/20200821140323.png)
20+
21+
然后,,,不要着急,不要着急,先去做点别的
22+
23+
![](https://cdn.jsdelivr.net/gh/Jstarfish/picBed/img/Spring20200821140017.png)
24+
25+
26+
27+
28+

docs/interview/Redis-FAQ.md

Lines changed: 427 additions & 465 deletions
Large diffs are not rendered by default.

docs/interview/Tomcat-FAQ.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
### Tomcat简介
2+
3+
Tomcat是用java编写的,属于Apache软件基金会的一个核心项目,可以运行Servlet和jsp,是一个小型的轻量级应用服务器,运行时占用系统资源少、扩展性好、支持负载均衡和邮件服务等的开发应用系统中的常见功能,使用中小型系统和并发访问用户不太多的系统。
4+
5+
Tomcat既是一个开放源码、免费支持JSP和Servlet技术的容器,同时又是一个Web服务器软件。与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(Web Archive)文件,它是许多文件构成的一个压缩包,包中的文件按照一定目录结构来组织,不同目录文件中的文件也具有不同的功能。部署应用程序时,只需要把WAR文件放到Tomcat的**webapp**目录下,**Tomcat会自动检测和解压该文件**
6+
7+
Tomcat既是一个Servlet容器,又是一个独立运行的服务器,像IIS。Apache等Web服务器一样,具有处理HTML页面的功能,但它处理HTML文件的能力并不是太强,所以一般把它当做JSP/Servlet引擎,通过适配器(Adapter)与其它Web服务器软件(如Apache)配合使用。
8+
9+
10+

0 commit comments

Comments
 (0)