【发布时间】:2018-04-03 13:07:44
【问题描述】:
我使用 Redis 作为缓存来为几个端点提供请求。
在更新缓存时“锁定”缓存的标准方法是什么,以便读取缓存的端点不会在更新缓存的同时发生。 我需要在 Redis 上实现“写”锁吗? 所有端点首先检查写锁是否可用,如果可用 - 它们读取数据,但当它不可用时,它们不使用缓存,而是直接从数据库中获取它?
写入器获取锁,等待预先指定的“延迟”以完成当前读取,然后刷新缓存,然后释放锁?
【问题讨论】:
我使用 Redis 作为缓存来为几个端点提供请求。
在更新缓存时“锁定”缓存的标准方法是什么,以便读取缓存的端点不会在更新缓存的同时发生。 我需要在 Redis 上实现“写”锁吗? 所有端点首先检查写锁是否可用,如果可用 - 它们读取数据,但当它不可用时,它们不使用缓存,而是直接从数据库中获取它?
写入器获取锁,等待预先指定的“延迟”以完成当前读取,然后刷新缓存,然后释放锁?
【问题讨论】:
实际上 Redis 管理简单命令(SET、SETEX、GET、INCR 等等)的锁定,继续使用它。
【讨论】: