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

时间:2015-12-16 05:42:54

标签: node.js caching express memcached

似乎有相当多的有前途的软件包没有明确的建议,哪个是最快,可扩展的,哪个更节省内存。

  1. npm install memoizee
  2. npm install memcached
  3. lru-cache
  4. npm install memory-cache
  5. npm install node-cache
  6. 任何可靠的信息来源/个人经验都会有所帮助 所以基本用法是简单的键:值存储 只需要知道这些不同商店的底层架构是否相似/不同,如果不同,那么哪些是可扩展的。

    [express-session使用了哪些来实现 MemoryStore 。]

2 个答案:

答案 0 :(得分:3)

"哪一个更好"取决于您的要求,例如流量,您希望存储多少内存缓存等。

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

答案 1 :(得分:2)

express-session的依赖关系在Github的package.json中是正确的。我没有看到任何列出的存储机制。

然后,如果您查看MemoryStore对象here的代码,您可以看到它只是使用Javascript对象来存储由sessionId索引的会话列表。 / p>