值得使用Redis而不是将数据存储在运行时只需要的对象中?

我正在创build一个派对系统,

使用套接字,人们可以发出accept, decline, invite, kick, changeLeader事件为党。

我需要一些方法来跟踪用户,所以我创build了一个包含所有相关信息的对象,例如

 let partyManager = {}; partyManager[partyUUID] = { creator: username, creatorSID: g04wn0gn9w490g, // socket id members: [], invited: [] } 

但是我想也许它很难在程序本身存储这些信息的程序上,也许一个数据库更适合于这个,但是我想要一些快速和诚实的,只是真的想尝试Redis ..

所以我开始研究我的商店/架构的redis存储信息我想出了类似的东西

 hmset party:uuid:owner "creator" "username" "creatorSID" "socket id" sadd party:uuid:members "user1" "user2" sadd party:uuid:invited "user3" 

这给了我一个散列,其中包含了派对所有者的信息,以及与当前成员相关的两组信息,以及具有未决邀请的用户(所以人们不能参加他们没有被邀请的派对)

但是后来我记得Redis存储在内存中,存储在一个对象中也会存储在内存中,不是吗?

我主要想知道,如果使用Redis来实现这一点,比将对象存储在一个对象中更有效/更好。

据我所知,在你的情况下使用Redis的主要兴趣是:

  • 使数据持久化,如果Redis持久性被激活
  • 允许在应用程序服务器的多个实例之间共享数据
  • 使这个应用程序服务器成为无状态(这对于故障转移和缩放更好)。

如果您不考虑这些问题,Redis对您描述的用例的兴趣不大。