在峰值负载期间更新大型集(50K +密钥)缓存(Redis)数据的最佳方法是什么?

时间:2014-10-16 13:35:19

标签: caching redis offloading

环境:多个Web(30),缓存(8)服务器和一个专用数据库服务器。

要卸载数据库,需要使用中央Redis缓存和本地内存缓存。

  • 根据日程安排缓存和更新大型公共事件数据
  • 用户特定数据在访问时单独缓存

当由于事件而更新了大量用户特定数据需求时出现问题。

当事件发生时,大约有200K注册用户和大约10K-20K来到网站(同时)。平均有5个缓存密钥/用户,总共50K - 100K缓存密钥包含需要更新的用户特定数据。

当前解决方案失败:

  1. 刷新用户缓存会使数据库重载(30个Web服务器)
  2. 将所有数据加载到缓存中需要很长时间(仅使用10%)
  3. KEYS和SCAN可以阻止缓存(尚未尝试......这是一个问题吗?)
  4. 在这种情况下,最佳做法是什么?

0 个答案:

没有答案