您好,我需要您的一些建议。我有两个表:州和县,每个州可以有一个或多个县相关。我有两个下拉菜单,一个用于州,另一个用于县。每次用户选择状态时都会发出ajax请求,查询数据库并查找该状态的相应县。如果用户不在数据库中,则还可以添加更多县。
我正在考虑在PHP用户会话中保存所有状态和县,为了不一直查询数据库,问题出现在有人添加新县时我可以为该用户更新会话变量但其他用户不知道数据库中是否有新的县。
您认为在会话中保存或多次查询数据库是个好主意吗?我也对其他解决方案持开放态度。 谢谢
答案 0 :(得分:2)
如果数据库已正确编入索引,则无需执行此操作。
对于大量数据,甚至可能将数据存储在会话中会降低整体体验,因为必须在使用会话的每个请求上加载和解析会话数据文件。
答案 1 :(得分:1)
这是很多会话数据。会话数据存储在服务器上。您将从服务器以任一方式将该数据发送回用户,但它将在需要该数据的每个用户的会话中复制。
我将它实现为查找,因为列表很长,而且可能会增长,如果它成为问题,就会担心以后的性能。您可以缓存查询和结果,以便每次都保存它在数据库上运行,如果添加了新的县,则将其清除以再次缓存。或者,您可以将列表保存在php中的数组中,但这对于较小的枚举来说非常理想。