redis 库存控制思路 redis如何做扣减库存

利用Redis设计库存系统的苦与乐我们先在Redis中拿到当前的库存值,然后check是否已经扣减到了零,如果已经扣减到了零 , 则直接return;否则 , 就利用Redis的decr原子操作进行扣减,同时返回扣减后的库存值 。
库存全部放在redis是可取的 。商品的库存全部放入redis,库存的读取直接读取redis,到了下单环节,库存的扣除也直接在redis扣除,通过消息队列通知后端数据库,最终把库存的扣减异步同步到后台数据库,避免了对数据库的瞬时压力 。
Redis提供的incr命令来实现计数器功能,内存操作,性能非常好,非常适用于这些计数场景 。
架构高可用高并发系统的设计原则1、服务器部署:服务器部署也是设计高可用性系统中非常重要的一环 。可以采用多台服务器部署方式,对于网络服务也可以采用集群部署来提高可用性 。同时,还需要采取措施保证服务器的备份和灾备恢复 。
2、可用性 衡量一个系统架构设计是否满足高可用的目标,就是假设系统中任何一台或者多台服务器宕机时,以及出现各种不可预期的问题时,系统整体是否依然可用 。
3、首先要结合具体的业务场景,不根据业务就云设计就是在耍流氓 。业务场景 首先你要确定你所架构的系统服务于什么业务 。
库存全部放在redis我们先在Redis中拿到当前的库存值,然后check是否已经扣减到了零,如果已经扣减到了零 , 则直接return;否则,就利用Redis的decr原子操作进行扣减,同时返回扣减后的库存值 。
所以,对于这样的数据,且有没有什么复杂逻辑关系(就只是隶属于SKU)的数据,我们就可以放在Redis里面,下单直接在Redis中减掉库存,这样 , 我们的订单的并发能力就能够提高了 。个人觉得应该站出来更正一下,相反的数据量大 , 更不应该用redis 。
String字符串是最常用的数据类型,他能够存储任何类型的字符串,当然也包括二进制、JSON化的对象、甚至是base64编码之后的图片 。在Redis中一个字符串最大的容量为512MB,可以说是无所不能了 。
缓存缓存现在几乎是所有中大型网站都在用的必杀技,合理的利用缓存不仅能够提升网站访问速度,还能大大降低数据库的压力 。Redis提供了键过期功能,也提供了灵活的键淘汰策略 , 所以,现在Redis用在缓存的场合非常多 。
---Redis的存储分为内存存储、磁盘存储和log文件三部分,重启后 , Redis可以从磁盘重新将数据加载到内存中 。
【redis 库存控制思路 redis如何做扣减库存】数据存放位置MySQL:数据放在磁盘 。Redis:数据放在内存 。

    推荐阅读