在Redis中有一个authentication feature,也有databases are possible,但这些功能是否可以安全地合并?
来自MySQL我知道有一个用户管理,多个用户可以拥有多个密码,并且只能拥有一个数据库的权限。
出于安全原因,我想在Redis中使用它,因为目前我可以使用requirepass
,但我必须将它添加到每个想要连接到redis的应用程序。 (至少有一种方法可以为requirepass
使用多个密码吗?
我可以使用应用程序连接到一个数据库,但AFAIK此应用程序也可以切换到另一个数据库。 (我能以某种方式至少阻止这种转换吗?)
出于性能原因,我想避免并行运行多个redis实例。
答案 0 :(得分:2)
我将从最后开始:
出于性能原因,我想避免并行运行多个redis实例。
事实恰恰相反 - 由于Redis(大部分)是单线程的,因此并行运行多个实例正是您获得更好的服务器利用率和提高性能的方式。
Redis的数据库概念(也称为共享数据库或编号数据库)与SQL域的概念不同。 Redis的'数据库更像是命名空间,除了共享相同的线程,它们还共享所有配置 - 包括身份验证密码。
所以答案是否定的,你不能为每个数据库设置不同的密码。有关您更喜欢专用Redis数据库的原因的详细信息,请参阅:https://redislabs.com/blog/benchmark-shared-vs-dedicated-redis-instances
答案 1 :(得分:0)
不,但redis非常轻巧,您只需在不同的端口上启动不同的实例。你说你不想“出于性能原因”,但这没有实际意义 - 空的redis几乎没有内存,几乎没有cpu。