在$ _SESSION变量中缓存变量?

men*_*nko 10 php session caching

我正在制作一个php web应用程序,它存储了不与其他用户共享的用户特定信息.

将一些此类信息存储在$ _SESSION变量中进行缓存是不是一个好主意?例如:缓存用户为其帐户创建的类别列表.

Bry*_*ein 12

只要您记住这一点,这将是会话机制的恰当使用:

  • 会话不会无限期地持续存在.
  • 从会话中拉出时,确保实际得到结果(如果会话已过期/清除,ASP.NET将返回NULL)
  • 服务器重新启动可能会擦除会话缓存.
  • 这样做是为了方便,而不是表现.对于高性能缓存,请选择适当的机制(即memcached)

良好的使用模式将是这样的(以太cookie或会话):

  • 用户登录
  • 会话/ cookie中的商店首选项(背景颜色,最近10条记录,类别).
  • 在呈现页面时,请参阅Session/Cookie值(确保它们是有效值而不是null).

不在cookie中的事情

  • 不要存储任何敏感的东西(使用会话).
  • Cookie值不应授予/拒绝您访问任何内容(使用会话).
  • 陷阱错误,假设标志和字符串可能不是您所期望的,可能会丢失,可能会在传输过程中更改.

我确定还有其他事情要考虑,但这只是我的头脑.