一、简介
Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库。
它的语言特点:
• 编写语言:redis 是采用C语言编写的,好处就是底层代码执行效率高,依赖性低,没有太多运行时的依赖,而且系统的兼容性好,稳定性高
• 存储:redis是基于内存的数据里,可避免磁盘IO
• 数据结构:redis采用key-value的方式进行存储
• 设计模型:redis采用的是单进程单线程的模型,可以避免上下文切换和线程之间引起的资源竞争。
二、Redis的应用场景
Redis 的应用场景包括:缓存系统(“热点”数据:高频读、低频写)、计数器、消息队列系统、排行榜、社交网络和实时系统。
三、Redis的安装
3.1Redis的下载地址:Releases · microsoftarchive/redis · GitHub
3.2下载之后解压
3.3点击redis-server.exe 启动Redis
注意:redis.windows.conf这个是Redis 最核心的配置文件
四、Redis的五大数据类型
1. String 字符串操作
2. list 列表操作
3. hash 哈希
4.set 集合操作
5. zset 有序集合操作
redis的常用命令大全,参考此篇博客:https://blog.csdn.net/ZY_Coldnai/article/details/125153335
五、、使用SpringBoot 整合redis
1.添加redis的依赖
<!-- 两个Redis数据库的依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
2.在yml文件中进行配置
#连接redis数据库
redis:
database: 0
host: 127.0.0.1
password: 123
port: 6380
jedis: #连接池的相关配置
pool:
max-active: 8 #最大连接数
max-idle: 8 #最大空闲数
min-idle: 1 #最小空闲数
3.接着就可以编写代码,使用redis进行增删查改
六、Redis的集群搭建
1.搭建集群的目的
在数据放访问的时候防止单台redus宕机 , 导致项目无法获取数据,因此需要搭建Redis的集群
2.搭建集群的步骤
参考:https://blog.csdn.net/weixin_43411585/article/details/125530347
3.集群的三主三从模式
3.1. 介绍
一主两从三哨兵集群,当master节点宕机时,通过哨兵(sentinel)重新推选出新的master节点,保证集群的可用性。
3.2. 哨兵的主要功能:
3.21.集群监控:负责监控 Redis master 和 slave 进程是否正常工作。
3.2.2.消息通知:如果某个 Redis 实例有故障,那么哨兵负责发送消息作为报警通知给管理员。
3.2.3.故障转移:如果 master node 挂掉了,会自动转移到 slave node 上。
3.2.4.配置中心:如果故障转移发生了,通知 client 客户端新的 master 地址。
3.3 哨兵的核心知识:
(1)哨兵至少需要 3 个实例,来保证自己的健壮性。
(2)哨兵 + redis 主从的部署架构,是不保证数据零丢失的,只能保证 redis 集群的高可用性。
(3)对于哨兵 + redis 主从这种复杂的部署架构,尽量在测试环境和生产环境,都进行充足的测试和演练。