基本上对于一个动态站点插件(网站可能相当大)我缓存某种搜索结果(因为结果来自外部搜索),结果可能是400-1500个字符的长度。因为结果出现在一个数组中,我使用json_encode
(比序列化更快)来存储在数据库中,但是每个条目大约1.5KB(因为可能有10,000个)= 15MB对我来说似乎有点大。PHP:在数据库中存储简单缓存数组的有效方法?
我的问题是:
*这是一个可接受的(您的意见)尺寸每项?
*将运行GZip或类似的并存储在MySQL的binary
字段中效率更高还是花费太多CPU时间?任何通常使用类似的东西?
我更喜欢不使用memcached或类似的,因为它需要可移植(但会更好吗?)这主要是一个理论问题,我只需要输入,然后再实施任何实体。
“15MB对我来说似乎有点大。” - 也许,如果你必须将这些数据存储在手表中(编辑:哦,不,甚至没有,请参阅http://www.thinkgeek.com/interests/dads/9771/)。还是有我们还不知道的特殊要求? – VolkerK 2010-09-10 08:38:09
如果线性使用的话,一个千兆字节的数据是很小的,但是每秒多次挑选其中的部分数据就是我停下来思考大于几兆字节的任何事情,尽管我会认为它实际上并不那么慢。 – John 2010-09-10 09:25:23
即使这样imo这依赖于过早的优化方面。在没有优化的情况下实现这个应该相当容易,然后对它进行压力测试,然后_then_如果当_determined_数据大小是瓶颈时添加或多或少的透明压缩。 – VolkerK 2010-09-10 10:12:11