redis应用场景

对于redis全面介绍请查看

https://blog.csdn.net/chen196/article/details/100528856

reids进程

redis应用场景

应用场景

验证码:redis是一个非关系型数据库,适合高并发,key-val存储,可以设置过期时间,适合验证码场景
我们在存储的时候,key为手机号,val是验证码,通过key获取到验证码,根据场景设置过期时间,过期之后直接删除这个key值,对于这种短暂性数据是一个不错的选择。

分布式锁:通过setnx设置一个key值,每次请求都去获取key值,如果获取到就返回1,其他请求看到1之后就等待key值释放。为了避免死锁,给访问key值一个时间,到点就把key值清空可供其他请求访问,可以保证商品的原子性,一致性。项目当中可以使用避免商品卖超。
redis应用场景
击穿:客户端—>redis—>库
去redis访问服务,reids里没有,然后去数据库获取就是击穿

穿透:客户端—>redis—>库—>
去redis访问服务,reids里没有,然后去数据库,然后数据库也没有,就穿透了

项目案例

事务:保证事务的一致性
买票,10w人去购买1w张票,数据量巨大,对于数据库的压力也是非常大的,利用监听来实现功能。如果票数>购买数量就可以进入订单支付,但是每个人的情况是不一样的,可能在你付款的同时又进来一个请求,付款的时候查看订单是否改变,如果没有了就回滚到最初请求地方,库存不足直接取消订单。为了避免用户恶意访问,给支付一个时间,如果指定时间之内没有付款,就回滚,取消订单。