如何有效地缓存数据库中非常大的 ID 集


How to efficiently cache very large sets of IDs from database?

>假设我们有具有数百万个ID的表"项目"(整数,主键)用户可以在网址上看到项目,例如"/goods/ID/"

所以在我的控制器中,我需要一种方法来知道给定的 ID 是否真的存在。

  1. 由于负载高,我根本不想访问数据库。
  2. 纯内存缓存(如内存缓存)不适合这里,因为缺乏持久性。

有没有一种解决方案可以让我快速可靠地访问整套 ID?

我会缓存范围以最大程度地减少存储的 ID 数量,如果您决定将 SQL 与缓存一起使用,这可能会有所帮助。

Memcache 没问题 - 如果未缓存 ID,请检查数据库。我们将 Memcached 用于 1000 万用户应用程序...

或者,也许 Amazon DynamoDB 正是您正在寻找的?