目前,当用户登录我的站点时,会启动一个(PHP)会话,并且他的数据库行保存在他的 $_session 中。我这样做是因为现在用户数据的大小很小,这样我就不必每次需要时都向数据库询问用户数据。
问题是,当我想在开发过程中添加或更改某些内容并触摸数据库时,会话不会以这种方式更新。用户必须注销并再次登录才能更新会话。现在这很好,因为该站点处于开发阶段,但在生产中这是不可取的。
我不会删除会话文件,因为人们很懒惰,我会避免在每次数据库发生更改时强制他们重新登录,而且我不想每 X 分钟重新加载一次会话。我现在的解决方案是用户表中的布尔列,默认为 false,我在更改数据库时设置为 true。每次会话继续时,如果该值变为真,会话数据将被更新。无论如何,每次用户继续会话时,我都必须进行(小)查询。我不知道这是否会成为生产中的问题。
有没有替代/更好的方法来解决我的问题?