使用django会话存储信息时是否存在任何问题?

使用django会话存储信息时是否存在任何问题?,django,Django,使用django会话存储用户信息是否有任何缺陷?在什么情况下我应该避免使用这种机制 “会话框架允许您在每个站点访问者的基础上存储和检索任意数据”,因此,如果您对此没有意见(存储的基于词典的信息仅适用于该会话的特定用户,只要您不访问所选会话后端,否则就可以了) 在使用基于缓存的会话后端(缓存失效、数据持久化、将要缓存的数据分发到多个服务器等)时,我看到的唯一陷阱可能是引入的,特别是当数据存储与主存储(数据库)不同时,比如使用memcached或基于文件的缓存。“会话框架允许您在每个站点访问者的基础

使用django会话存储用户信息是否有任何缺陷?在什么情况下我应该避免使用这种机制

“会话框架允许您在每个站点访问者的基础上存储和检索任意数据”,因此,如果您对此没有意见(存储的基于词典的信息仅适用于该会话的特定用户,只要您不访问所选会话后端,否则就可以了)

在使用基于缓存的会话后端(缓存失效、数据持久化、将要缓存的数据分发到多个服务器等)时,我看到的唯一陷阱可能是引入的,特别是当数据存储与主存储(数据库)不同时,比如使用memcached或基于文件的缓存。

“会话框架允许您在每个站点访问者的基础上存储和检索任意数据”,因此,如果您对此没有意见(存储的基于词典的信息仅适用于该会话的特定用户,只要您不访问所选会话后端),则完全可以


在使用基于缓存的会话后端时(缓存失效、数据持久化、将要缓存的数据分发到多个服务器等),特别是当数据存储与主存储(数据库)不同时,我看到的唯一陷阱可能会引入-比如使用memcached或基于文件的缓存。

在会话中存储数据让我吃惊的一件事是,当用户在两个浏览器中打开站点时(比如在手机上打开一次,在桌面上打开一次),会发生什么(或不会发生什么)

例如,我遇到了一个性能问题,决定通过减少对数据库的点击来解决它。该网站的前提是移动应用程序用于查看数据,但您可以通过桌面网站进行更改

有这样的逻辑:

if not session_data then:
    fetch_data_and_put_in_session
else:
    get_session_data_ftw()

如果用户登录到手机,则会话数据是从数据库创建的。如果用户随后使用浏览器对数据进行更改,则在会话过期之前,他们无法在手机上查看数据。

在会话中存储数据时,让我吃惊的一件事是发生了什么(或没有发生什么)当用户在两个浏览器中打开站点时(比如一次在手机上,一次在桌面上)

例如,我遇到了一个性能问题,决定通过减少对数据库的点击来解决它。该网站的前提是移动应用程序用于查看数据,但您可以通过桌面网站进行更改

有这样的逻辑:

if not session_data then:
    fetch_data_and_put_in_session
else:
    get_session_data_ftw()
如果用户登录到手机,则会话数据是从数据库创建的。如果用户随后使用浏览器对数据进行更改,则在会话过期之前,他们无法在手机上查看数据