外贸soho网站制作,中国铁路建设集团公司网站,汽车行业网站怎么做,佛山专业的免费建站Redis 官网页面
Redis官网链接 Redis 的简介
Redis 是一个在内存中存储数据的中间件 一方面用于作为数据库#xff0c;另一方面用于作为数据缓存#xff0c;适用于分布式系统中 Redis 基于网络#xff0c;进行进程间通信#xff0c;把自己内存中的变量给别的进程#xf…Redis 官网页面
Redis官网链接 Redis 的简介
Redis 是一个在内存中存储数据的中间件 一方面用于作为数据库另一方面用于作为数据缓存适用于分布式系统中 Redis 基于网络进行进程间通信把自己内存中的变量给别的进程甚至别的主机的进程进行使用 Redis 的初心: 是用来作为一个 “消息中间件” (消息队列)的用于分布式系统下的生产者消费者模型不过当前很少会直接使用 Redis 作为消息中间件了
Redis 通常和 MySQL 结合起来使用
MySQL 最大的问题在于访问速度比较慢很多互联网产品中,对于性能要求是很高 Redis 可以作为数据库使用最大的特点就是访问速度快但是和 MySQL 相比最大的劣势就是存储空间有限 通常情况下最优的选择就是Redis 和 MySQL 的结合使用当然还是要看使用场景的。
具体的使用原则采用“二八原则”20%的热点数据满足80%的访问需求 分布式系统
引入多个主机/服务器协同配合完成一系列的工作 如 Web 服务器与数据库分别⼯作在不同的服务器上或者多台 Web 服务器被分别部署在不同服务器上。 注这里多个主机指的是物理上的多个主机
分布式的架构演进
请各位亲们移步到博主的另一篇博客 docker 的八大技术架构(图解) 常见概念
应⽤Application/ 系统System 一个应用就是一 个/组 服务器程序
模块Module/ 组件Component —个应目里面有很多个功能每个独立的功能就可以称为是一个模块/组件
集群Cluster 引入多个主机/服务器协同配合完成一系列的工作 注这里的多个主机指的是逻辑上的多个主机
分布式 和 集群的区别 分布式强调的是物理形态即⼯作在不同服务器上并且通过⽹络通信配合完成任务 ⽽集群更在意逻辑形态即是否为了完成特定服务⽬标。
主Master/ 从Slave 分布式系统中一种比较典型的结构多个服务器节点其中一个是主另外的都是从。 从节点的数据要从主节点这里同步过来
中间件Middleware 提供和业务无关的服务的软件比如数据库缓存消息队列
评价指标Metric
可用性Availability 系统整体可用的时间 / 总的时间响应时长Response Time RT 衡量服务器的性能和具体服务器要做的业务密切相关的数值越小越好吞吐Throughputvs 并发Concurrent 衡量系统的处理请求的能力也是属于衡量性能的一种方式 Redis 的特性
官网核心特性的介绍页面
1. In-memory data structures
在内存中存储数据
MySQL 主要是通过“表的方式来存储组织数据的属于关系型数据库 Redis 主要是通过“键值对key 都是 string, value 则是上述的strings, hashes, lists, sets, sorted sets, streams 的方式来存储组织数据的属于非关系型数据库
2. Programmability
可编程性 针对Redis的操作可以直接通过简单的交互式命令进行操作也可以通过一些脚本的方式批量执行一些操作(可以带有一些逻辑)在 Redis 主要支持 Lua“橹啊”这个编程语言
3. Extensibility
扩展 可以在 Redis 原有的功能基础上再进行扩展Redis 提供了一组API可以使用 CCRust 这几个语言编写 Redis 扩展本质上是一个动态链接库 自己去扩展 Redis 的功能在 Redis 自身已经提供了很多的数据结构和命令下可以通过扩展让 Redis支持更多的数据结构以及支持更多的命令
4. Persistence
持久化 Redis 把数据存储在内存上的由于内存的数据是“易失的进程退出/系统重启都会导致内存中的数据消失 解决Redis 会把数据存储在硬盘上以内存为主硬盘为辅硬盘相当于对内存的数据备份了一下 如果 Redis 重启了就会在重启时加载硬盘中的备份数据使 Redis 的内存恢复到重启前的状态
5. Clustering Horizontal scalability水平扩展这个水平扩展类似于分库分表 Redis 作为一个分布式系统中的中间件能够支持集群是很关键的 一个 Redis 能存储的数据是有限的(内存空间有限)引入多个主机部署多个 Redis 节点每个 Redis 节点存储数据的一部分
6. High availability
高可用 冗余/备份 Redis 自身也是支持主从”结构的从节点就相当于主节点的备份
Redis 最大的特性快
快的原因 1.Redis 数据是在内存中比访问硬盘的数据库要快很多 2.Redis 核心功能都是比较简单的逻辑 核心功能都是比较简单的操作内存中的数据结构 3.从网络角度上Redis 使用了 IO 多路复用(epoll)的方式使用一个线程来管理很多个socket 4.Redis 使用的是单线程模型(虽然更高版本的Redis引入了多线程)这样的单线程模型减少了不必要的线程之间的竞争开销