Redis
1. 为啥在项目里要用缓存呢 用缓存,主要是俩用途,高性能和高并发 高性能 image.png 高并发 image.png 2.介绍 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API的非关系型数据库。 传统数据库(关系型数据库)遵循 ACID 规则。而 Nosql(非关系型数据库)(Not Only SQL 的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称) 一般为分布式,而分布式一般遵循 CAP 定理。 CAP理论 C:consistency(一致性) A:avalibility(可用性) P:Partition(分区)-tolerence to partition(分区容忍度) 分区:一个分布式系统,网络不通讯,导致连接不通,系统被分割成几个数据区域 原因:数据不连通了,产生数据分区 影响: 查还好一点 数据修改时,必须要求数据一致--加锁,实现数据一致性【需求要求数据一致性】 数据修改时,可以数据不一致--不用加锁【需求不要求数据一致性】 分区容忍度 数据的一致性要求高,容忍度高,加锁 数据的一致性要求低,容忍度低,可以不加锁 预期结果,保持数据的一致 可用性 请求在一定时间段内都应该有响应 为了解决锁一直加着 CP理论:【一致性+分区