一.Redis在实际开发中的运用场景

我自己学习用,我自己的理解,勿喷

1、什么是Redis?

Redis是一款基于内存键-值型NoSQL数据库。NoSQL - 非关系型数据库

特点:可以进行快速的数据读写,官方给的数据 11W/s 读 8W/s 写。
redis读写很快是相对于mysql

2.Redis在实际开发中的运用场景

1)作为分布式系统的缓存服务器
在这里插入图片描述

客户端访问服务器的时候,会先检查redis是否有数据,redis有数据直接反馈给客户端,不再访问mysql.redisr如果没有再请求数据库,数据库同时会进行缓存重建到redis,下次就可以直接读redis.

2)应对数据高速读写的业务

高速读写,在互联网的项目中都是一个读多写少的.就比如说双十一淘宝,大量的客户访问,如果直接去读取数据库的话,对mysql无疑就是一个很大的压力,redis可以减轻mysql压力.缓存到redis服务器,后期再写入到数据库.但是这样会有一个问题,我们不只需要更新mysql,也要更新redis.就是我们往往买东西的时候,会看到库存还有1,但是就是不能下单,这并不是有货不给卖,实际库存就是空的.只是redis还没把数据同步到mysql.数据没有绝对的一致性

3)作为分布式锁使用(Zookeeper、Redis)
在这里插入图片描述

额…分布式锁的使用的话,早期做过一个项目,当时为了确保线程安全的话,用到了synchronized关键字确保线程安全,后期就是项目需要升级迭代,服务部署到不同的服务器中,集群.那么就可以用到redis的分布式锁.统一锁在redis中.

4)数据共享

在这里插入图片描述

额…数据共享就是之前做过一个项目,当时是用到了oauth2的jwt直接存储用户信息生成到令牌中,直接放入客户端的,每次带着令牌访问资源服务.那么还有另外一种方式就是把生成的令牌存储在redis中,每次访问资源服务器的时候就直接从redis中获取,可以实现资源的共享.

5)ID自增序列
在这里插入图片描述

Guess you like

Origin blog.csdn.net/qq_44982110/article/details/121547389