PHP APC中存储值的最大大小是多少?

3
为了加快网站速度,我已经使用APC将小表存储为数组,这显著加快了我的查询。特别是一个表(我仍然使用左连接)有近3000行,我想知道将其放入数组并使用APC存储是否有效?或者它太大了?其他表我存储的最多只有20行。

这是查询:https://dev59.com/sWox5IYBdhLWcg3wDgIz - ChimeraTheory
1个回答

1
有一些ini设置会决定您可以存储的值的最大大小。
可以在此处找到APC特定指令的列表。http://php.net/manual/en/apc.configuration.php 与您的问题最相关的是:
apx.max_file_size-防止缓存超过此值的文件。默认为1M。
“行”不能很好地描述数据的大小。尽管缓存数千个“行”并不算不合理。您可以通过序列化它然后使用strlen()/ mb_strlen()来更好地了解数组的大小。您可能不想超过每个文件的1 MB,但可以根据可用RAM需要增加APC可用的共享内存的总大小/段。
如果您已经解决了索引问题,也许您会确定这不是缓存的好选择。在考虑要缓存什么时,需要考虑几个因素...数据变化频率如何?从数据库中获取是否昂贵/速度慢或经常请求?

2
如果缓存此查询确实非常有用,但它有点太大(您无法使用其他缓存系统,如Memcached或仅文件),则可以始终对数据进行gzip / gunzip压缩以进行存储。出于同样的原因,一些memcache库将自动压缩较大量的数据。 - Alister Bulman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接