redis简单介绍

(一)redis简介

what:  Redis是一个开源的、基于内存的缓存数据库

Redis支持每秒十几万此的读/写操作

场景:由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景,或者是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题而存在严重的性能弊端,一瞬间成千上万的请求到来,需要系统在极短的时间内完成成千上万次的读/写操作,这个时候往往不是数据库能够承受的,极其容易造成数据库系统瘫痪,最终导致服务宕机的严重生产问题。而redis能够缓解这种高并发到来的高频率的读写操作。

主要作用:缓存---缓存用户登录消息、缓存热点数据

场景:在日常对数据库的访问中,读操作的次数远超写操作,比例大概在 1:9 到 3:7,所以需要读的可能性是比写的可能大得多的。当我们使用SQL语句去数据库进行读写操作时,数据库就会去磁盘把对应的数据索引取回来,这是一个相对较慢的过程。如果我们把数据放在 Redis 中,也就是直接放在内存之中,让服务端直接去读取内存中的数据,那么这样速度明显就会快上不少,并且会极大减小数据库的压力,但是使用内存进行数据存储开销也是比较大的,限于成本的原因,一般我们只是使用 Redis 存储一些常用和主要的数据,比如用户登录的信息等。

·  当第一次读取数据的时候,读取 Redis 的数据就会失败,此时就会触发程序读取数据库,把数据读取出来,并且写入 Redis 中;

·  当第二次以及以后需要读取数据时,就会直接读取 Redis,读到数据后就结束了流程,这样速度就大大提高了。

作用二:redis内存中的数据可以持久化

两种持久模式(转储模式):RDB--数据快照模式,AOF---追加模式

持久原理:

RDB原理: 将Redis内存中的数据库记录定时dump到磁盘上

AOF原理:将Redis的操作日志追加的方式写入文件

两者的差异(快照和追加的区别):

快照:定时备份-----(Redis效率高,但是容易造成数据丢失

追加:持续性地用日志记录操作-----基本可以保证数据不丢失,但是

导致占用太大存储空间

流程图:

 

·  当一个请求到达服务器时,只是把业务数据在 Redis 上进行读写,而没有对数据库进行任何的操作,这样就能大大提高读写的速度,从而满足高速响应的需求

·  但是这些缓存的数据仍然需要持久化,也就是存入数据库之中,所以在一个请求操作完 Redis 的读/写之后,会去判断该高速读/写的业务是否结束,这个判断通常会在秒杀商品为0,红包金额为0时成立,如果不成立,则不会操作数据库;如果成立,则触发事件将 Redis 的缓存的数据以批量的形式一次性写入数据库,从而完成持久化的工作。

redis和nginx共同点:

解决高并发的问题。Nginx能够受理并处理高并发的请求,redis能够解决高并发的数据读取。

redis与nginx的协同工作:

Nginx的所有worker进程都可以处理前端请求转发到redis,而且只有nginx worker 0才运行定时任务定时更新redis

(二)redis部署架构

 Redis采用原生的Redis集群架构。目前已经成熟稳定,容灾机制健全,服务成熟,服务于海量第三方用户以及平台自有业务,日访问量超过一万亿次,久经考验。接入业务包括QQ、QQ空间、微信等。Redis平台整体架构如下:

(1)控制台:改模块为云redis的前台管理界面,实际的图形化操作界面,可以对资源、实例进行管理和维护操作。比如实例的生产、监控告警配置、资源的上架等;

(2)管控Control_center(下简称:cc):该模块为云Redis的后台服务,主要负责实例的生命周期管理、资源管理、HA等。

(3)Cache_agent(下简称:ccagent):该模块为云Redis后台服务的Agent节点,部署再实际的IaaS资源上。

(4)监控系统:该模块负责监控Redis、Proxy及机器的存活状态,并上报相应的监控数据到对应的存储系统,目前独立输出版使用的存储系统是InfluxDB。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值