问题描述
- redis分布式锁的运用和理解
-
redis是单进程单线程模式 ,为什么还需要分布式锁?跨jvm是指多个服务器上在运行同一个服务吗?
网上看了很多说跨jvm会需要锁 ,但还是不怎么理解
解决方案
redis分布式锁
redis分布式锁-SETNX实现
Redis实现分布式锁
解决方案二:
redis 3.0也有集群模式了,可以多个机器组成一个整体的cache
解决方案三:
redis分布式锁和zookeeper分布式锁都在在企业服务中常用的知识。譬如:你有一个服务程序,需要部署在5台独立的机器上,才能避免高峰访问的压力。
试想用户查询query的推荐结果(经过复杂机器学习算法的计算)保留在机器1的缓存中,当新来的用户再次查询相同的query时,而服务访问的是机器2,那么机器2还需要重新计算推荐结果吗?当然不需要了,
只需要实时更新每台机器的redis缓存,就可以实现缓存信息互享,减少服务器的计算压力,提高访问的效率。当然redis缓存的更新就需要redis分布式锁,通过分布式锁锁定异步计算,监控缓存更新
时间: 2024-08-04 03:44:50