高并发核心技术Redis系列(一)--------概述

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 任何技术的出现都是一步一步演进出来的。

一、Redis概述

1 NoSQL介绍

1.1 NoSQL由来

  任何技术的出现都是一步一步演进出来的。

         1. 在互联网诞生初期,一个网站一个应用访问量都不大, 使用单机Mysql数据库可以应对。

2345_image_file_copy_95.jpg

   2. 随着用户的不断增多,单机MySQL可能无法放下,服务器也可能承受不住一个网站,大多数的情况都是查询,为了减少数据库的压力,引入读写分离策略,让主数据库处理事务性增、改、删操作,而从数据库处理SELECT查询操作。

      通过读写分离的方式,解决问题。

2345_image_file_copy_96.jpg

3. Mysql读的问题得到了缓解,写的压力依然存在,开始通过分库分表和MySQL集群来解决写的问题。

2345_image_file_copy_97.jpg

4. 当前,数据量越来越大、数据类型也越来越复杂,Mysql数据库在面对数据量很多、变化很大数据,如大文本字段、图片等,MySQL效率就低了,并且扩展性差,大数据量场景下IO压力大,结构更改困难。如果有一种数据库专门来存储此类数据,分担读取数据的压力,MySQL压力就会变得很小。

NoSQL数据库就应运而生,可以很好的解决上述问题。

2345_image_file_copy_98.jpg

1.2 什么是NoSQL  

NoSQL = Not Only SQL 不仅仅是SQL

泛指非关系型数据库,对应对比关系型数据库,NoSQL没有sql语句使用,不需要设计表结构,没有表关系。

很多数据类型如:用户的个人信息,社交网络,地理位置,这些数据类型的存储不需要一个固定的模式,类似于Map<String,Object>使用键值对来控制。

1.3 NoSQL的特点

1. 方便扩展(数据之间没有关系,很好扩展)

2. 大数据量高性能(Redis一秒写8万次,读取11万次,NoSQL缓存记录级,是一种细粒度的缓存,性能比较高)

3. 数据类型多样性(不需要事先设计数据库,如果是数据量特别大的表,设计繁琐)

4. 传统RDBMS 与 NoSQL

RDBMS:
 - 结构化数据
 - 结构化查询语句SQL
 - 数据和关系都存储在单独的表中
 - 数据操纵语言,数据定义语言
 - 严格的一致性
 - 基础事务
NoSQL:
 - 没有固定的查询语言
 - 键值对存储、列存储、文档存储、图关系数据库
 - 最终一致性
 - CAP定理和BASE理论
 - 高性能,高可用,高可扩

1.4 NoSQL的四大分类

image.png

2 Redis概述

  2.1 Redis是什么

1. Redis(Remote Dictionary Server 远程字段服务)是一个开源的使用ANSI C语言编写、支持网

络、内存亦可持久化的key-value数据库,并提供多种语言的API。

2. Redis是一个key-value存储系统,它支持存储的value类型相对更多,包括string、list、set、

zset(sorted set --有序集合)和hash。这些数据结构都支持push/pop、add/remove及取交集并

集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的

排序。为了保证效率,数据都是缓存在内存中,Redis会周期性的把更新的数据写入磁盘或者把修

改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

3. Redis提供了java、C/C++、PHP、JavaScript、Perl、Object-C、Python、Ruby、Erlang等客户端,使用很方便。

2.2 Redis能干嘛

1. 读写效率高,用于高速缓存

2. 发布,订阅消息(消息通知)

3. 地图信息分析

4. 活动排行榜或计数

5. …………

2.3 Redis特点

1. 多样的数据类型:Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,

hash等数据结构的存储。

2. Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使

用。

3. Redis的所有操作都是原子性的。

4. 支持主从复制及集群。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1天前
|
缓存 NoSQL 中间件
redis高并发缓存中间件总结!
本文档详细介绍了高并发缓存中间件Redis的原理、高级操作及其在电商架构中的应用。通过阿里云的角度,分析了Redis与架构的关系,并展示了无Redis和使用Redis缓存的架构图。文档还涵盖了Redis的基本特性、应用场景、安装部署步骤、配置文件详解、启动和关闭方法、systemctl管理脚本的生成以及日志警告处理等内容。适合初学者和有一定经验的技术人员参考学习。
31 7
|
8天前
|
移动开发 NoSQL 网络协议
Redis 管道技术
10月更文挑战第21天
12 3
|
21天前
|
缓存 监控 负载均衡
如何解决Redis热点Key问题?技术干货分享
【10月更文挑战第2天】在Redis的使用过程中,热点Key问题是一个常见的性能瓶颈。热点Key指的是那些被频繁访问的Key,它们可能导致Redis服务器的负载不均衡,进而影响整体性能。本文将深入探讨热点Key问题的成因、影响以及多种解决方案,帮助读者在实际工作中有效应对这一挑战。
40 3
|
2月前
|
消息中间件 存储 负载均衡
高并发流量杀手锏:揭秘秒杀系统背后的削峰技术!
本文介绍了秒杀场景下的“削峰填谷”策略,通过消息队列缓冲用户请求,避免高并发对系统造成冲击。文中详细解释了消息队列的工作原理及如何通过预扣减库存和分布式锁确保数据一致性,同时还提出了合理的消息队列配置、高可用性及数据库负载均衡等最佳实践。通过这些技术手段,可有效提升系统的稳定性和用户体验。
98 8
高并发流量杀手锏:揭秘秒杀系统背后的削峰技术!
|
26天前
|
存储 缓存 NoSQL
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
47 4
|
26天前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
43 3
|
28天前
|
JSON 缓存 NoSQL
Redis 在线查看序列化对象技术详解
Redis 在线查看序列化对象技术详解
32 2
|
2月前
|
存储 缓存 NoSQL
解决Redis缓存击穿问题的技术方法
解决Redis缓存击穿问题的技术方法
63 2
|
2月前
|
存储 NoSQL Redis
10)Redis 的管道技术
10)Redis 的管道技术
42 0
|
29天前
|
存储 缓存 NoSQL
数据的存储--Redis缓存存储(一)
数据的存储--Redis缓存存储(一)
65 1