随笔分类 - redis
摘要:Redis分布式锁实现 我们通常使用的synchronized或者Lock都是线程锁,对同一个JVM进程内的多个线程有效。因为锁的本质 是内存中存放一个标记,记录获取锁的线程是谁,这个标记对每个线程都可见。然而我们启动的多个订单服务,就是多个JVM,内存中的锁显然是不共享的,每个JVM进程都有自己的
阅读全文
摘要:缓存有效期和淘汰策略 Redis的数据已经设置了TTL,不是过期就已经删除了吗?为什么还存在所谓的淘汰策略呢?这个原因我们需要从redis的过期策略聊起。 1.redis缓存过期策略 1.1 过期策略 定时过期 会一直循环去检查redis里哪个键过期,会占用大量cpu资源(不推荐)。 惰性过期 所谓
阅读全文
摘要:bigkey 1、bigkey带来的问题 如果是集群模式下,无法做到负载均衡,导致请求倾斜到某个实例上,而这个实例的QPS会比较大,内存占用也较多;对于Redis单线程模型又容易出现CPU瓶颈,当内存出现瓶颈时,只能进行纵向库容,使用更牛逼的服务器。 涉及到大key的操作,尤其是使用hgetall、
阅读全文