如何在redis中实现多租户?

e5nszbig  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(1963)

因为我对redis还比较陌生,所以我正在尝试探索各种选择,看看如何使用redis实现多租户。我阅读了redislabs官方页面上的一些文档,看起来redis集群模式支持redis enterprise的多租户开箱即用。我想知道这种多租户解决方案是否也可以在sentinel模式下使用?
我可能对redis enterprise提供的多租户完全感到困惑。也许它在一个哨兵模式也工作,但似乎没有什么对我很清楚。
有人能给redis中的多租户带来一些启示吗?什么模式支持多租户?

ewm0tg9j

ewm0tg9j1#

如果你要用 redis-cluster ,则只支持一个db。
redis cluster不支持像独立版本的redis那样的多个数据库。只有数据库0,不允许使用select命令。
如果您不打算使用集群模式,那么您可以看看redis创建者发布的关于多个数据库的消息(几年前)
我知道这是多么有用,但不幸的是,我认为redis多个数据库错误是redis设计中最糟糕的决定。。。如果没有任何实际收益,它会使内部变得更加复杂。事实上,数据库不能很好地扩展有很多原因,比如主动密钥过期和vm。如果db选择可以用一个字符串执行,我可以看到这个特性被用作可伸缩的o(1)字典层,而不是。
有了数据库号码,默认的几个数据库,我们就可以更好地交流这个功能是什么,以及如何使用我认为。我希望在某个时候,我们可以放弃多数据库的支持,但我认为这可能是为时已晚,因为有很多人依赖这个功能的工作。
salvatore的messageredis集群文档
我的建议是加前缀。我们在saas应用程序中使用这个方法,所有不同的数据类型都以相关的客户名称作为前缀。我们在应用层处理一些操作。
如果您想使用单示例/多数据库,那么您需要使用 select 命令。可能有一些库来管理它们。关键的一点是:;
所有数据库仍然保存在同一个redisdb/append-only文件中。

相关问题