Tag: 键值存储

当我们将redis与rails / ruby​​一起使用时,Nest和redis-namespace gems之间的平均差异是什么

有两个流行的gem用于向redis添加命名空间: redis-namespace和Nest ,如果我真的理解我们需要命名空间,当我们使用相同的redis实例服务器和不同的项目时,如果我是对的,这意味着:如果我有项目 – 1和项目-2以及这些项目中的每一个都使用我的本地redis存储,那么这两个项目可能有一个用户密钥代表我的应用程序的用户,所以为了防止冲突,我需要命名用户密钥与类似项目的名称: 对于项目-1: project-1:users 对于项目-1 project-2:users 如果我上面的理解没有错,我们可以使用redis-namespace gem来解决这个问题: r = Redis::Namespace.new(:project-1, :redis => @r) r[‘users’][‘joe’][’email’] = ‘joe@example.com’ 对于第二个项目(项目-2),只需要在实例化新的Redis :: Namespace时将project-1更改为project-2: r = Redis::Namespace.new(:project-2, :redis => @r) r[‘users’][‘joe’][’email’] = ‘joe@example.com’ 请告诉我,如果我在上述所有解释中没有错! 我们现在可以继续使用Nest: 从文档我们有这个例子: Nest通过提供已连接到Redis的可链接命名空间来帮助您生成密钥: >> event = Nest.new(“event”) >> event[3][:attendees].sadd(“Albert”) >> event[3][:attendees].smembers => [“Albert”] 但是在这里我不确定Nest是否帮助我们做与redis-namespace相同的事情或帮助我们生成可链接的密钥??? redis-namespace和Nest之间究竟有什么区别?