问题基本上说明了一切。我的流量很大,每天大约有20万的点击量。我想将原始引用者(它们来自哪里)存储在会话变量中,以用于各种目的。这是一个好主意,还是我应该坚持使用数据库?
你可以同时做这两件事:)。PHP允许在脚本中定义会话的存储逻辑。这样就可以在数据库中存储会话。检查set_session_save_handler()
手册
如果只在用户当前会话中需要,则可以将信息存储在cookie中。那么你根本不需要在你的端存储它。
也有一些缺点:
- 他们可能有cookies被禁用,所以你可能无法保存它。
- 如果你下次需要这些信息,你可能无法得到它,因为它可能已经被删除了。
- 不是超级安全,所以不要保存密码,银行信息等
所以,如果无论如何都需要这些信息,也许这不是正确的方法。如果信息是可选的,那么这将工作。
默认的PHP会话处理程序是文件处理程序。所以,相关的问题是:
- 您是否使用超过1个没有粘性会话(负载平衡)的web服务器?
- 是否磁盘空间不足?
- 你打算这么做吗?
如果是(to any),则将其存储在数据库中。或者,更好的是,计算每个请求的内容(或者将其缓存到Memcached之类的地方)。您还可以将内容存储在签名cookie中(以防止篡改)。