1、什么是redis?
redis是一款基于内存的键-值型nosql数据库。nosql - 非关系型数据库
特点:可以进行快速的数据读写,官方数据 11w/s 读 8w/s 写。
redis读写很快是相对于mysql
2、redis在实际开发中的运用场景
1) 作为分布式系统的缓存服务器

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

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

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

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

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论