1

The constraints:

  • Load balancing environment, sessions need to be persistent across servers.
  • OAuth 2.0 provider/authentication, tokens are created/refreshed quickly.

Storing sessions/tokens in the DB was the logical move.

  1. Is this the standard practice?
  2. Is this the best practice?
4

1 回答 1

1

您可以在集合上创建TTL 索引,例如db.sessions.ensureIndex( { "createdAt": 1 }, { expireAfterSeconds: 3600 } ). 这将创建一个元素 TTL 等于一小时的集合。一小时后,Mongo 将自动删除过时的条目。也支持复制!

我不太了解在数据库中存储会话(我正在使用为我处理会话的应用程序服务器),但我知道一些简单的框架(如 python 的瓶子或烧瓶)使用这种做法。

于 2013-08-11T09:13:27.563 回答