【发布时间】:2015-05-11 03:35:50
【问题描述】:
这是一个设计问题。我有一个不变的查找表。它将有大约 1000 行。它可能每隔几个月更改一次。
我是否应该将它保存在内存中,让每个 PHP 应用程序实例在加载时从数据库中“加载一次”并从内存中提供服务?还是我应该每次使用数据库时都查询它?
如果使用这种查找是“每秒一百万次交易”的事情,那么它在内存中就很简单了。但事实并非如此——这可能每秒只被调用几次,可能是 5 或 6 次......但现在不会了。
你会怎么做?
【问题讨论】:
-
'load it up once' from the DB when it load and serve it from memory这对
lookup table that doesn't change更有意义 -
考虑多 Web 服务器实例 + 负载均衡器架构——将这些信息加载到 Redis 或 memcached 之类的东西中并将所有 Web 服务器实例指向那里是否有意义?
-
我仍然希望在不更改 PHP 代码的情况下偶尔更改此数据。
-
听起来像是一份工作:php.net/manual/en/book.memcache.php
-
您可以尝试一些缓存机制,如 Redis 或 Memcached,它们“加载一次数据并从内存中提供数据”。
标签: php