根据https://github.com/mperham/dalli,我们可以配置多个 Memcache 服务器。但我不确定它是如何工作的。
假设我们正在使用具有两台服务器的 memcache 集群:memcache1(box1) 和 memcache2 (box2)。
- 用户 A 和用户 B 共享同一个资源。
- 用户A登录并读取box1中缓存的共享资源。
- 用户 B 登录并读取 box2 中缓存的共享资源。
- 用户 A 更新共享资源并使 box1 上的缓存过期
- 用户 B 看不到更新的资源,但仍然在 box2 中获得缓存。
到目前为止,这是我的理解,我不确定缓存过期在集群环境中是如何工作的。特别是,当我们想急切地使缓存过期时,它会在所有盒子上过期吗?
鉴于我们在两个 rails 服务器中有类似的配置:
config.cache_store = :dalli_store, 'memcache1', 'memcache2'
您如何看待这个用例?
感谢您的所有兴趣。