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

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 任何技术的出现都是一步一步演进出来的。

一、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 高并发竞争 key ,如何解决这个难点?
本文主要探讨 Redis 在高并发场景下的并发竞争 Key 问题,以及较为常用的两种解决方案(分布式锁+时间戳、利用消息队列)。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Redis 高并发竞争 key ,如何解决这个难点?
|
1月前
|
缓存 NoSQL 中间件
redis高并发缓存中间件总结!
本文档详细介绍了高并发缓存中间件Redis的原理、高级操作及其在电商架构中的应用。通过阿里云的角度,分析了Redis与架构的关系,并展示了无Redis和使用Redis缓存的架构图。文档还涵盖了Redis的基本特性、应用场景、安装部署步骤、配置文件详解、启动和关闭方法、systemctl管理脚本的生成以及日志警告处理等内容。适合初学者和有一定经验的技术人员参考学习。
158 7
|
2月前
|
移动开发 NoSQL 网络协议
Redis 管道技术
10月更文挑战第21天
23 3
|
2月前
|
缓存 监控 负载均衡
如何解决Redis热点Key问题?技术干货分享
【10月更文挑战第2天】在Redis的使用过程中,热点Key问题是一个常见的性能瓶颈。热点Key指的是那些被频繁访问的Key,它们可能导致Redis服务器的负载不均衡,进而影响整体性能。本文将深入探讨热点Key问题的成因、影响以及多种解决方案,帮助读者在实际工作中有效应对这一挑战。
98 3
|
2月前
|
存储 缓存 NoSQL
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
69 4
|
2月前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
57 3
|
2月前
|
JSON 缓存 NoSQL
Redis 在线查看序列化对象技术详解
Redis 在线查看序列化对象技术详解
42 2
|
3月前
|
存储 NoSQL Redis
10)Redis 的管道技术
10)Redis 的管道技术
51 0
|
缓存 NoSQL Redis
Redis高并发和高可用
Redis高并发和高可用
102 0
|
监控 NoSQL Redis
怎么保证Redis的高并发高可用
怎么保证Redis的高并发高可用
110 0