为了加快我的网站速度,我使用APC将小型表存储为数组,这大大加快了我的查询速度。特别是一个表(我仍然是LEFT JOIN)有近3000行,我想知道将它放入数组并使用APC进行存储是否有效?还是太大了?
我存储的其他表格最多有20行。
答案 0 :(得分:1)
有许多ini设置可以指定您可以存储的值的最大大小。
可在此处找到APC特定指令的列表。 http://php.net/manual/en/apc.configuration.php
与您的问题最相关的是:
apx.max_file_size
- 防止大于此值的文件被缓存。默认为1M。
“行”在大小方面描述数据没有太大作用。缓存成千上万的“行”并不是不合理的。您可以通过序列化然后使用strlen()
/ mb_strlen()
来更好地了解数组的大小。您可能不希望每个文件高出1 MB,但您可以根据需要增加APC可用的共享内存总大小/段数,具体取决于可用的RAM。
如果您已修复索引问题,可能会确定这不适合您的缓存。在查看要缓存的内容时,需要考虑几个因素...数据的变化频率如何?从DB中获取是否成本很高或者是经常变慢还是请求?