Php 如何在会话中正确存储数据

Php 如何在会话中正确存储数据,php,session,Php,Session,当用户登录到我的系统时,我使用sessions(在php中),但是当与朋友交谈时,他们告诉我,在session变量中存储管理员状态和用户用户名可能不是最好的主意 他们说,如果管理员权限由于某种原因被取消,它可能会保存在会话变量中,因此他们仍然拥有管理员权限,如果您允许用户更改用户名,那么他们的旧用户名可能会存储在会话中,因此他们无法登录,因为他们的旧用户名已不在数据库中 在这种情况下使用会话有什么问题吗?或者有更好的方法在页面之间传递此类数据吗?本质上,会话是一个缓存。使缓存失效是一个经典问题,

当用户登录到我的系统时,我使用sessions(在php中),但是当与朋友交谈时,他们告诉我,在session变量中存储管理员状态和用户用户名可能不是最好的主意

他们说,如果管理员权限由于某种原因被取消,它可能会保存在会话变量中,因此他们仍然拥有管理员权限,如果您允许用户更改用户名,那么他们的旧用户名可能会存储在会话中,因此他们无法登录,因为他们的旧用户名已不在数据库中


在这种情况下使用会话有什么问题吗?或者有更好的方法在页面之间传递此类数据吗?

本质上,会话是一个缓存。使缓存失效是一个经典问题,没有灵丹妙药解决方案。是的,缓存(会话)中的数据和数据库可能不同步。您需要确保它们是同步的;定期或在数据更改时使缓存无效。或者,如果这不是什么大不了的事,你就不在乎了。谢谢你的回复,这不是什么大不了的事,因为它规模相当小。我将查看这些选项本质上会话是一个缓存。使缓存失效是一个经典问题,没有灵丹妙药解决方案。是的,缓存(会话)中的数据和数据库可能不同步。您需要确保它们是同步的;定期或在数据更改时使缓存无效。或者,如果这不是什么大不了的事,你就不在乎了。谢谢你的回复,这不是什么大不了的事,因为它规模相当小。我会研究一下这些选项