【问题标题】:Session or cache for preserving data across pages?用于跨页面保存数据的会话或缓存?
【发布时间】:2014-08-18 13:26:18
【问题描述】:

我正在使用 Phalcon 重新编写一个小应用程序,我在其中收集有关用户的信息。本质上,我在多个页面中获取名字、姓氏、电子邮件、此人是否已婚、与此人有关的一些数字等。当用户“最终”提交他们的信息(在被要求查看之后)时,我将一些信息写入数据库并执行一些计算以生成报告,然后通过电子邮件发送出去。

重写之前的信息直接存储在session中,即

 "$firstname = $this->session.get('firstname', '');". 

我对这种方法感到不舒服,因为会话本质上被用作用户对象。我想做的是生成一个会话ID,每次都将该信息写入数据库,然后相应地检索它。但是,我们并没有从用户那里得到太多信息,而且我们注意到人们倾向于开始报告流程,然后退出或去其他地方。在这种情况下,为了收集信息并在最后刷新它,我不知道每次写入数据库是否有意义。

我想我的问题归结为理想的方法是什么,因为我认为我不需要那么频繁地访问数据库。在会话中存储用户信息的做法可以继续,或者我可以生成用户对象并将它们分别存储在会话或缓存中。对此的任何想法将不胜感激。

【问题讨论】:

    标签: php session caching phalcon


    【解决方案1】:

    如果您指的数据库是 MySQL,那么如果您使用内存表,我只会写入数据库。

    但是,如果您想更改它,并且最终必须决定什么是最适合您的,我建议您改用 NoSQL 或缓存解决方案。缓存的唯一问题是,如果您的服务器重新启动,那么您的会话将被破坏。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-09
      • 2013-04-06
      • 2015-10-03
      • 2011-07-31
      相关资源
      最近更新 更多