在nodejs服务器上的内存存储中

In memory storage on nodejs server

似乎有很多有前途的软件包,但没有关于哪个最快、可扩展以及哪个内存效率更高的明确建议。

  1. npm 安装memoizee
  2. npm 安装memcached
  3. lru-cache
  4. npm 安装memory-cache
  5. npm 安装node-cache

任何可靠的 information/personal 经验来源都会有所帮助。
所以基本用法是简单的 key:value store.
只需要知道这些不同商店的底层架构是否 similar/different,如果不同,那么哪个是可扩展的。

[另外 express-session 使用其中的哪些来实现 MemoryStore。]

express-session 的依赖项就在 package.json 中的 Github 上。我没有看到您列出的任何存储机制。

然后,如果您查看 MemoryStore 对象 here 的代码,您会发现它只是使用 Javascript 对象来存储由 [ 索引的会话列表=11=].

"Which one is better" 取决于您的要求,例如流量、您要存储多少内存缓存等

当您 select 内存存储时,请记住 node.js 是单线程的,for 循环是阻塞代码。如果您查看大多数这些包(例如 node-cache)的源代码,它们都有 for 循环,遍历所有缓存项以进行 TTL 检查。因此,如果您存储 10000 个对象,您的应用将被阻塞,直到完成 10k 次迭代。所以请慎重选择。