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

rug*_*ugk 3 database security database-security redis

Redis 具有身份验证功能,也可以使用不同的数据库,但这些功能能否以安全的方式组合在一起?

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

出于安全原因,我希望在 Redis 中拥有类似的功能,因为目前我可以使用requirepass,但我必须将其添加到每个想要连接到 Redis 的应用程序中。(至少有一种方法可以使用多个密码吗requirepass
我可以使用应用程序连接到一个数据库,但据我所知,这个应用程序也可以切换到另一个数据库。(我至少可以以某种方式阻止这种切换吗?)

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

Ita*_*ber 5

我将从最后开始:

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

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

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

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