0

我正在构建一个带有基于 Java 的后端的 Backbone.js 应用程序。在 java 方面,该应用程序已经非常成熟。但是,在客户端,我必须添加一个小细节。作为促销活动的一部分,我必须确保向任何未登录的用户以及未有意关闭它的任何已登录用户显示永久的 Flash 消息。

我知道通常情况下,最好的方法是将用户决策存储在数据库中的布尔变量中。问题在于我不想用促销信息之类的东西弄乱我的后端代码和数据库。因此,我认为客户端设置的 cookie 可能会有所帮助。但是,这有一个问题,我可能最终会为从同一个浏览器实例登录的每个帐户创建一个单独的 cookie。这只是一条信息。另外,我无法跨浏览器传输 cookie,因此我的用户最终可能会再次看到该消息

我被困住了。请帮忙。我想要的甚至不是代码,而是我是否走在正确的轨道上的一些评论。如果没有,无论如何我都会存储在数据库中。对于像促销信息这样愚蠢的事情来说,这只是一点点开销。也许redis可以提供帮助?

4

1 回答 1

1

代替 cookie 使用localStorage. 它更容易,并且不会向服务器的每个请求添加额外的数据。但是,您仍然会遇到特定于浏览器会话的缺点。

如果您真的希望促销状态在多台计算机上持续存在,则必须将其存储在数据库中。如果您已经启动并运行了 redis,它将可以工作,但否则它可能会比使用现有数据库做更多的工作。

于 2012-02-28T06:19:34.797 回答