在php/mysql系统中,我们有许多配置值(大约200个)——这些值大多是布尔值或整数,并存储诸如每页结果数以及页面是2列还是3列之类的内容。所有这些都存储在一个mysql表中,我们使用一个函数在请求时返回这些值,在某些页面加载时,可能会有多达100个对这个配置表的请求。使用此系统的站点数量意味着每秒可能有数千个请求来检索这些值。问题是,这种方法是否有意义,或者是否更可取的做法是,每页执行一个请求,并将所有配置存储在一个数组中,每次都从这里检索。
最佳答案
使用诸如memcache、APC或任何其他缓存。加载一次设置,缓存它,并通过会话与一个单例对象共享它。
即使保存了查询缓存,反复查询数据库也是浪费时间和资源。相反,在任何修改值的请求中,都要使内存中的缓存失效,以便在下次有人向其请求值时立即重新加载该缓存。
关于php - 存储在数组中或使用多个数据库查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/934376/