Yii会话变量和Memcached

时间:2013-10-21 21:00:48

标签: yii memcached session-variables

我正在使用Yii PHP框架构建论坛网站。我也使用Memcached进行会话维护和存储一些数据对象。

对于每个用户请求,我必须获取一些用户信息以检查某些内容(检查他是否是特定组的成员以及其他检查)

所以我正在计划的两个方法是

1)不要在会话中存储任何东西而不是用户ID,并且在建立用户会话之后从memcached获取对象并检查它 - 这里有一个用户对象和两个对memcached服务器的调用 (一个是会话调用,另一个是获取用户对象)

2)使用 setState 方法将所有必需的用户信息存储在会话中。成功登录后,用户从会话对象获取信息并进行检查。这里有两个用户对象,一个在memcached中,另一个在用户会话中(当然这又存储在memcached中)。但是我觉得当会话通过一个电话建立时我们得到了用户所需的所有细节(这是真的吗?)

不确定什么是最好的方法。感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

从性能角度来看,它没有任何区别,因为你也会在memached中保存会话(这至少就是你所说的)。因此,使用会话来获取此类信息是最合乎逻辑的。另外,你必须为每个用户创建和存储唯一的缓存密钥 - 这会重新发明会话已经为你做的事情。