为什么 aliyun 的 redis 支持账号概念?
redis 只有密码概念,是没有账号概念的
但是 aliyun 的 redis 服务却有?
为什么 aliyun 的 redis 支持账号概念?
redis 只有密码概念,是没有账号概念的
但是 aliyun 的 redis 服务却有?
首先,让我们澄清一下,Redis 本身并不支持“账号”概念,而是通过密码进行身份验证。但在阿里云的 Redis 服务中,他们可能为了更好地管理资源、安全性考虑或提供更细粒度的权限控制,引入了账号概念。
阿里云 Redis 支持账号概念的原因可能如下:
总之,虽然 Redis 本身没有账号概念,但阿里云在其 Redis 服务中引入这一概念是为了提供更好的安全性、资源管理、扩展性、多租户支持和集成功能。
15 回答8.4k 阅读
4 回答4.4k 阅读✓ 已解决
4 回答4k 阅读
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
因为阿里云的云 Redis 根本不是 Redis,而是 Tair,只是兼容了 Redis 协议而已。
这种协议兼容的产品在业内其实挺多的,比如前几年火过一阵儿的 Dragonfly,它不但兼容了 Redis 协议、还兼容了 Memcached 协议。
再补充一点,可能你会好奇它是怎样在兼容了 Redis 协议的基础上增加了账号。
原因很简单,它是把 Tair 这层的账号+密码,拼在一起作为了 Redis 协议里的密码。而跟账号相关的访问控制能力,由 Tair 提供,而不是 Redis 协议里带的。
继续补充。
@vishun 提到了 Redis 6.x 的新特性 ACL。但首先阿里云这个是从 4.X 开始就支持 ACL 了,所以显然不是利用了 Redis 本身的特性。
其次阿里云其实本身就是 Redis 社区的第二大贡献者(第一大当然是 Redis Labs,因为老祖宗 antirez 从 2019 年就不咋参与维护、2020 年直接官宣彻底退出项目了),现在 Redis 新版本里的很多特性就是阿里云在 Tair 项目里得到验证后反哺给 Redis 社区的。
所以虽然我没有具体去翻过 git log,但很有可能 Redis 6.x 里的 ACL 特性有一部分就来自于阿里云的贡献。
这也算是一个冷知识吧。