大型PHP数组或MySQL临时内存表?

Mad*_*høj 3 php mysql key-value

您如何在一个流程中临时存储数千个key => valuekey => array成对的数据.查找key将在进程内连续完成,并在进程结束时丢弃数据.

我应该使用数组吗?临时MySQL表?或介于两者之间?

jig*_*fox 6

这取决于数千个意味着多少,以及数组在内存中的大小.如果你可以在PHP中处理它,你应该这样做,因为mysql的使用在这里产生了一点开销.

但是如果您在共享主机上,或者您memory_limit在php.ini中受限并且无法增加它,则可以在MySQL中使用临时表.

此外,您可以使用一些简单快速的键值存储,如MemcachedRedis,它们也可以在内存中工作,并且可以快速查找键(Redis承诺O(1)的时间复杂度)