假设我有一个带有 id -> 字符串的大(MySQL-)表(>10k 行)。我可以将它们全部放在一个数组中并缓存这个数组。但问题是:如何有效地缓存它?
a) 将其缓存为一个大项目。所以我会执行
$redis->set("array", $array);
很短很容易。但是对于我需要的每个条目,我都必须获取整个内容。绝对低效。
b)缓存每个条目本身:
foreach( $array as $id => $str )
$redis->set( "array:$id", $str );
使用这种方式,我将在 Redis 中拥有超过 10k 个条目。那感觉不太好。如果我有 10 个这样的表,我将有 100k 个条目....
那么你的提议是什么?如何缓存一个大数组?