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

1、什么是Redis?

Redis是一款基于内存键-值型NoSQL数据库。NoSQL - 非关系型数据库
特点:可以进行快速的数据读写,官方数据 11W/s 读 8W/s 写。
redis读写很快是相对于mysql

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

1)作为分布式系统的缓存服务器
Redis在实际开发中的运用场景_第1张图片

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

2)应对数据高速读写的业务
Redis在实际开发中的运用场景_第2张图片

高速读写,互联网的项目都是一个读多写少的。什么是读多写少:比如买东西的时候,浏览商品信息,浏览的过程就是数据的读,下单的过程就是数据的写。比如说双十一淘宝,大量的客户访问,如果所有的请求直接去读数据库的话,对mysql无疑就是一个很大的压力,而redis作为缓存服务器是可以减轻mysql压力。将数据缓存到redis服务器,在半夜访问量低的时候再写入到数据库中。但是这样也会有一个问题,我们不止需要更新数据库,也要更新redis。买东西的时候,会看到库存还有1,但是就是不能下单,这并不是有货不给卖,实际库存就是空的.只是redis还没把数据同步到mysql.数据没有绝对的一致性

3)作为分布式锁使用(Zookeeper、Redis)
Redis在实际开发中的运用场景_第3张图片

微服务项目服务部署到不同的服务器上,集群。单体架构的同步锁没办法锁住服务。就可以用到redis的分布式锁redisson。

4)数据共享

Redis在实际开发中的运用场景_第4张图片

数据共享:oauth2.0的jwt直接存储用户信息生成到令牌中,放入客户端,每次带着令牌访问资源服务。另外一种方式就是把生成的令牌存储在redis中,每次访问资源服务器的时候就直接从redis中获取,可以实现资源的共享。

5)ID自增序列
Redis在实际开发中的运用场景_第5张图片

你可能感兴趣的:(Redis,redis)