具有不同密码的不同 Redis 数据库?

Different Redis databases with different passwords?

Redis 中有一个 authentication feature and also different databases are possible,但是这些功能可以以安全的方式组合吗?

来自MySQL 我知道有一个用户管理,多个用户可以有多个密码,并且只能拥有一个数据库的权限。

出于安全原因,我希望它在 Redis 中具有相似性,因为目前我可以使用 requirepass,但我必须将它添加到每个应用程序中,无论如何它都想连接到 Redis。 (至少有一种方法可以为 requirepass 使用多个密码吗?
我可以用一个应用程序连接到一个数据库,但据我所知,这个应用程序也可以切换到另一个数据库。 (我至少能以某种方式阻止这种转变吗?)

出于性能原因,我想避免 运行 多个并行的 redis 实例。

不,但是redis非常轻量级,你只需在不同的端口启动不同的实例。你说你不想 "for performance reasons",但这没有实际意义——一个空的 redis 几乎不占用内存,几乎不占用 cpu。

我从最后开始:

For performance reasons I want to avoid running multiple instances of redis in parallel.

事实恰恰相反 - 由于 Redis(大部分)是单线程的,运行 多个实例并行正是您获得更好的服务器利用率和提高性能的方式。

Redis 的数据库概念(也称为共享数据库或编号数据库)不同于 SQL 域的概念。 Redis的数据库更像是命名空间,除了共享同一个线程外,它们还共享所有配置——包括认证密码。

所以答案是否定的,你不能为每个数据库设置不同的密码。有关为什么您应该更喜欢专用 Redis 数据库的更多详细信息,请参阅:https://redislabs.com/blog/benchmark-shared-vs-dedicated-redis-instances