问题基本上都说明了一切。我获得了大量的流量,每天大约20万次点击。我想将原始引用者(它们来自哪里)存储在会话变量中以用于各种目的。这是一个好主意还是我应该坚持使用数据库呢?
答案 0 :(得分:2)
你可以同时做两件事:)。 PHP允许您在脚本中定义会话的存储逻辑。这样,也可以在数据库中存储会话。查看set_session_save_handler()
如果您使用负载平衡(或计划执行一次),则使用数据库会有其优势。这样,所有Web服务器都可以从同一个数据库(或集群)读取会话数据,并且负载均衡器不必担心哪个请求应该转发到哪个Web服务器。如果会话数据存储在文件中,这是默认机制,那么负载均衡器必须向相同的物理Web服务器提出会话的每个请求,这要复杂得多,因为负载均衡器必须在HTTP级别上工作。
答案 1 :(得分:1)
如果只需要用户当前会话,您可以将信息存储在cookie中。然后你根本不需要存储它。
还有一些不利方面:
因此,如果需要这些信息,无论如何都需要,也许它不是可行的方式。如果信息是可选的,那么这将有效。
答案 2 :(得分:0)
默认的PHP会话处理程序是文件处理程序。所以,相关的问题是:
如果是(对任何),则将其存储在数据库中。或者,更好的是,计算每个请求上的内容(或者像Memcached一样缓存它)。您还可以将这些内容存储在已签名的cookie中(以防止篡改)。