Redis--高并发分布式结构

目录

一、引言

二、redis

1.什么是redis?

三、基础概念

1.什么是分布式?

2.应用服务和数据库服务分离

3.负载均衡

4.分库分表

5.微服务架构

四、总结


一、引言

本篇文章就简单介绍一下什么是redis,以及一些关于高并发和分布式结构的基本概念。

二、redis

1.什么是redis?

Redis是⼀种基于键值对(key-value)的 NoSQL 数据库,与很多键值对数据库不同的是,Redis中的值可以是由 string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)Bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等多种数据结构和算法组成,因此 Redis可以满⾜很多的应用场景,⽽且因为 Redis 会将所有数据都存放再内存中,所以它的读写性能非常惊人。不仅如此,Redis 还可以将内存的数据利用快照和日志的形式保存到硬盘上,这样在发⽣类似断电或者机器故障的时候,内存中的数据不会"丢失"。除了上述功能以外,Redis 还提供了键过期、发布订阅、事务、流⽔线、Lua 脚本等附加功能。总之,如果在合适的场景使⽤号 Redis,它就会像⼀把瑞士军刀⼀样所向披靡。

三、基础概念

1.什么是分布式?

我们平常所解除到的大部分都是单机架构的服务器,但因为数据量的庞大,一台机器已经不能够支撑那么多业务数据了,就必须引入更多的机器,把同一业务的东西分布在多台机器上就叫做分布式。

2.应用服务和数据库服务分离

将应用服务服务器和数据服务服务器进行分离。

3.负载均衡

当业务数据量实在是太多时,我们可以先引入一个负载均衡(本质上也是服务器),然后再将数据分配给应用服务器。

给应用服务器引入了多个服务器,那对于数据库服务器我们同样也会引入更多的服务器。

主服务器用于写,从服务器用于读,因为读的操作是远远大于写操作的,所以这里的服务器强调一主多从。

数据库有个天然的问题,数据库的响应是十分缓慢的,所以我们就将数据分为了冷热数据,热数据放入缓存中,也就是我们的redis中。

4.分库分表

当数据实在是太多的时候,我们就要将数据库进行划分,例如一个数据库存用户表,一个数据库存商品表,一个存交易表。

5.微服务架构

简单而言就是将不同的业务逻辑分为不同的部分。

引入微服务的代价:

1.系统的性能下降了,拆出来更多的服务,多个功能之间相互依赖网络通信。

2.系统复杂程度提高,可用性收到影响,服务器更多了,出现问题的可能性也更大了,这就需要监控报警系统以及运维人员来维护。

优势:

1.解决了人的问题

2.使用微服务,可以更方便于功能复用

3.可以给不同的服务进行不同的部署

四、总结

此篇文章并未对redis进行过多讲解,只是简单介绍了一下概念,但其他概念是学习redis的基础,也是十分重要的,下篇文章就将专门讲解redis相关特性了,感谢观看!

相关推荐
Hardworking6664 分钟前
第7章 软硬件系统集成
数据库·软硬件系统集成
名字还没想好☜14 分钟前
Go 的 time.Ticker 陷阱:定时任务里被忽略的内存泄漏与正确关闭
java·数据库·golang·go·定时器
熊猫钓鱼>_>35 分钟前
Redis 突发缓存穿透:一次完整的定位复盘
数据库·人工智能·redis·缓存·ai·agent·智能
脱胎换骨-军哥1 小时前
C++分布式系统设计:从通信引擎到分布式共识
开发语言·c++·分布式
wenb1n1 小时前
MySQL诊断系列(3/6):索引分析——5个SQL揪出“僵尸索引”
数据库·人工智能·编程语言
Ethan01071 小时前
redis 热key问题如何解决+场景
redis
段一凡-华北理工大学2 小时前
向量数据库实战:选型、调优与落地~系列文章03:向量相似度算法全解:余弦、欧氏、内积,到底该用哪个?
大数据·数据库·人工智能·算法·机器学习·向量相似度·高炉炼铁
ClouGence3 小时前
CloudDM 数据库管理平台,全新 UI,更清晰、更高效!
数据库·开源
海棠Flower未眠4 小时前
SpringBoot 整合 Kafka 高性能消息队列(荣耀典藏版)
分布式·kafka
Devin~Y4 小时前
互联网大厂Java面试实战:Spring Boot、MyBatis、Redis、Kafka、JWT、Spring Cloud 与 AI 场景追问
java·spring boot·redis·spring cloud·kafka·mybatis·spring security