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