深入理解Redis分布式锁
相信很多同学都听说过分布式锁,但也仅仅停留在概念的理解上,这篇文章会从分布式锁的应用场景讲起,从实现的角度上深度剖析redis如何实现分布式锁。一、超卖问题我们先来看超卖的概念: 当宝贝库存接近0时,如果多个买家同时付款购买此宝贝,或者店铺后台在架数量大于仓库实际数量,将会出现超卖现象。超卖现象本质...
Redis五种数据类型
Redis string(字符串)string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。string类型是Redis最基本的...
Redis常用概念之:缓存穿透、缓存击穿、缓存雪崩
缓存穿透缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求。由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就...
Redis常用概念之:内存淘汰机制
机制介绍noeviction当内存不足以容纳新写入数据时,新写入操作会报错。allkeys-lru当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的 key。allkeys-random当内存不足以容纳新写入数据时,在键空间中,随机移除某个 key。volatile-lru当内存不足以容纳...
Redis常用概念之:持久化
RDB持久化RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储。在默认情况下, Redis将数据库快照保存在名字为 dump.rdb的二进制文件中。在 Redis 运行时, RDB 程序将当前内存中的数据库快照保存到磁盘文件中,...