当前位置: 首页 > news >正文

Redis初步介绍和分布式系统介绍

一、Redis 初步介绍

Redis 是在内存中存储数据,所以最大的特点就是快。

而且可以通过网络进行数据的存储与共享,所以适用于分布式系统,一般作为其中的缓存。

但是缺点是由于数据存储在内存,所以存储数据量小。那么改进的方法在分布式系统中也会有所体现(Redis 存储热点数据,MySQL 存储全量数据,此时的问题就是二者的数据同步问题)

二、分布式系统介绍

通过实际项目的普遍优化流程来介绍。

1、单机架构:应用程序 + 数据库

一开始由于访问量不多,一台服务器的硬件资源足够支撑,所以就是单机架构。

2、分布式架构:应用服务器 + 存储服务器

但是由于一台主机的硬件资源是有限的,所以当用户量和数据量高起来之后可以把应用与存储分离,引入多台主机,协作完成业务。

3、引入负载均衡器

但是请求越来越多,需要的应用服务器越来越多,这是就要引入负载均衡器来分配每个应用服务器需要处理的请求。

4、读写分离

但是同时数据库需要进行的操作也变多了,此时引入主从数据库,即读写分离,一主多从的方式优化性能(主用于写,从用于读,主同步数据给从)

5、引入缓存

由于数据库是读硬盘,速度慢,所以引入缓存存放热点数据,提高读写速度。

但是要解决缓存与数据库之间数据一致性。

6、数据库分库分表

由于存储的数据过多导致一台主机存不下一个数据库里面所有的数据,这时可以分库。

7、微服务

当业务类型越来越多的时候,每一个应用服务器的代码量增加,因为此时每一个应用服务器都是一个具有完整业务功能的服务器,但是如果按照业务类型进行拆分的话就能得到微服务架构。

微服务的代价:

结构复杂,维护成本高,容易出错。

系统性能下降,服务之间更加依赖网络通信。

微服务解决了人的管理问题,分组进行维护特定的功能,实现了功能的复用。

三、Redis 特性

1、数据结构化存储

内部通过键值对的方式存储数据,是非关系型数据库。

2、可编程

支持通过命令,脚本的方式执行 Redis 操作。

3、可扩展

可以用 C/C++,Rust 的语言打成动态库,使 Redis 支持更多数据结构或命令。

4、持久化

虽然数据存储在内存,但是硬盘会进行备份,当进程中断或重启时,数据能从硬盘中加载出来。

5、可集群

可以水平扩展(类似分库分表)引入多个主机,部署多个 Redis 节点即可使用,缓存集群。

6、高可用

支持主从同步。

7、快

存储在内存。

核心操作逻辑简单,只是对数据结构进行操作。

利用 IO 多路复用。

单线程。

四、Redis 应用场景

1、作为数据库,此时存储全量数据。

2、作为缓存或者 session 存储,此时存储部分数据。

3、作为消息队列,实现网络生产者消费者模型。

http://www.dtcms.com/a/322012.html

相关文章:

  • 项目一系列-第4章 在线接口文档 代码模板改造
  • 临床医学 RANDOM SURVIVAL FORESTS(randomSurvivalForest)-2 python 例子
  • shell脚本使用
  • 软件销售跟进思路
  • 期货和期权对冲后能盈利吗?
  • 大力水手4——AI驱动的多帧生成与神经网络渲染
  • MySQL NULL 值处理详细说明
  • 《天天酷跑》:用Pygame打造经典跑酷游戏的开发与玩法全解析
  • 库函数NTC采样温度的方法(STC8)
  • react的form.resetFields()
  • cuda编程之内核执行配置参数
  • 智慧交通场景下 mAP↑28%:陌讯多模态融合算法实战解析
  • Linux入门到精通,第二周自我总结
  • 书生浦语第五期-L1G3-LMDeploy 课程
  • 配电线路故障定位在线监测装置的技术解析与应用价值
  • C语言编译流程讲解
  • 第七篇:动画基础:requestAnimationFrame循环
  • 解决多线程安全性问题的方法
  • 可编辑51页PPT | 某鞋服品牌集团数字化转型项目建议书
  • 相机Camera日志实例分析之十:相机Camx【萌拍调节AE/AF拍照】单帧流程日志详解
  • 基于MATLAB实现的毫米波大规模MIMO系统中继混合预编码设计
  • [windows]torchsig 1.1.0 gr-spectrumdetect模块安装
  • LeetCode 刷题【34. 在排序数组中查找元素的第一个和最后一个位置、35. 搜索插入位置】
  • 哈希法(Java)
  • 【数据结构】排序(sort) -- 计数排序
  • wstool和git submodule优劣势对比
  • select ... for update阻塞
  • 【感知机】感知机(perceptron)学习算法例题及详解
  • 任务管理器如何查看详细的命令行和路径?
  • 安科瑞能源管理系统在某新材料公司光储充一体化项目上的应用