【发布时间】:2011-04-10 14:48:42
【问题描述】:
基本上对于动态网站的插件(网站可能相当大)我正在缓存某种搜索的结果(因为结果来自外部搜索),结果的长度可以是 400-1500 个字符。
由于结果以数组形式出现,我使用json_encode(比序列化更快)存储在数据库中,但每个条目约 1.5KB(因为可能有 10,000 个)=15MB 对我来说似乎有点大。
我的问题是:
* 这是每个条目可接受的(您的意见)尺寸吗?
* 运行 GZip 或类似的程序并将其存储在 MySQL 的 binary 字段中会更高效还是最终占用过多的 CPU 时间?有什么平时用的类似的吗?
我不喜欢使用 memcached 或类似的东西,因为它需要可移植(但那会更好吗?)这对我来说主要是一个理论问题,我只需要输入才能实现任何可靠的东西。
【问题讨论】:
-
"15MB 对我来说似乎有点大。" - 也许,如果您必须将这些数据存储在手表中(编辑:哦,不,即使那样,请参阅thinkgeek.com/interests/dads/9771)。还是有我们不知道的特殊要求?
-
如果线性使用,千兆字节的数据很小,但每秒多次挑剔部分数据是我停下来考虑大于几兆字节的地方,尽管我假设它不是真的很慢。
-
即使这样 imo 这也倾向于过早的优化方面。在没有优化的情况下实现这一点应该相当容易,然后对其进行压力测试,然后如果您确定数据大小是瓶颈,添加或多或少的透明压缩.
标签: php mysql database caching performance