我有一个功能,其中用户发布包含少量userid的数据和一些与这些userid相关的数据,我将其保存到postgresql数据库中。我想将此返回的用户ID保存在某个对象中。
我只想检查此对象中是否存在userid,然后只调用数据库。此检查非常频繁,所以每次检查是否存在数据时都无法访问db那个用户ID。
问题是,我有多个nodejs实例在不同的服务器上运行,所以我怎么能有一个公共对象。
我知道我可以使用redis / riak在服务器上存储键值,但是不想仅针对单个案例增加复杂性/学习。(我之前从未使用过redis / riak。)
有任何建议吗?
答案 0 :(得分:3)
如果您的数据位于不同服务器上的不同node.js进程中,那么ONLY选项是使用网络跨服务器与某些公共服务器进行通信以获取值。有很多不同的方法可以做到这一点。
由于您已有数据库,因此您可能只想将其存储在已有的数据库中并从那里进行查询,而不是仅为此用途引入另一个带有redis的数据存储。如果可能,您可以让每个进程在一段时间内缓存该值,以提高频繁请求的性能。