node.js - 使用 OrientDB 内存数据库作为 session 处理程序而不是 REDIS 是个好主意吗

标签 node.js session redis orientdb

我正在考虑使用 OrientDB 作为我的 node.js 应用程序的 session 存储解决方案。 Redis 和 OrientDB 是否有任何基准?

最佳答案

首先,键值是最简单的索引/关联数据形式之一,它可能是最快的。图形数据库也很快,但通常不考虑它们的速度,而是考虑它们管理复杂关系的能力。他们恰好在设计上很快,因为这就是他们设计的目的。但是,尝试在传统 RDBMS 中执行与通常在图形数据库中执行的操作相同的操作,您可能会在合理的时间内扩展和执行这些操作时遇到困难。

真正归结为哪种技术最适合手头的工作。如果您正在存储 session 数据,那么我看不出您将如何从图形数据库中受益。虽然如果您出于某种原因需要关联用户、组等,它可能更有意义,但我仍然认为除非您的关系符合图形结构,否则您不会真正从图形数据库中受益。此外,使用 Redis,您实际上可以根据需要定义自己的索引,但如果关系变得过于复杂,它可能会让人不知所措。那是我考虑其他选择的时候。但是,如果您只是存储简单的 session 数据,那么除了键值存储之外,我看不出有任何理由使用任何东西。它可能会更快、更容易实现,因为它实际上是为此而设计的。

此外,我看不到像 memcached 或 redis 这样的键值数据库“太慢”。如果您打算优化,我认为您的决定还为时过早。

关于node.js - 使用 OrientDB 内存数据库作为 session 处理程序而不是 REDIS 是个好主意吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29402589/

相关文章:

php - 将用户数据存储在 $_SESSION 中与重复的数据库访问

Redis:如何计算某个范围内的流中的元素?

redis - 在 Redis 上写入的 Trident 或 Storm 拓扑

javascript - 使用 "xmlbuilder"npm包创建xml时如何添加DOCTYPE

javascript - Cloud Functions for Firebase - 删除最老的 child

node.js - 作为 promise 对 sinch 进行 api 调用

java - 为什么我的 servlet session 不持久?

php - 将带有回调的 session 从 php4 迁移到 php5 的奇怪行为

javascript - 仅从 Express 静态目录提供 .js 文件?

c# - 当键不存在时,带有 When.NotExists 的 StringSetAsync 返回 false