Redis 加上密码后,整体性能下降 20%?

2024-05-12 17:19:17 +08:00
 cuishuang

这太震惊了...(图片来自极客时间 安全攻防技能 30 讲)

难道每次执行什么 get,set 操作,都会检测一遍密码吗? 我理解不能像 mysql 一样,有个连接池,初始化一些长连接,之后就不用再认证/鉴权什么的了

8926 次点击
所在节点    Redis
43 条回复
R4rvZ6agNVWr56V0
2024-05-12 17:26:07 +08:00
支持 TLS 啊,为啥一定要用密码
Yadomin
2024-05-12 17:47:58 +08:00
真的吗?我本地测了一下,不保证正确
qsnow6
2024-05-12 17:53:10 +08:00
校验个密码能有多大的损失,扯蛋呢
mohumohu
2024-05-12 17:55:30 +08:00
那不如直接用 unix domain socket
lsk569937453
2024-05-12 18:00:10 +08:00
redis 是基于 TCP 协议的啊,握手(验证密码)之后就一直保持长连接,后续都是处理指令了啊。
zed1018
2024-05-12 18:00:14 +08:00
首先后来版本的 redis 默认是没密码没错,但是也默认有保护模式,无密码账户只能在本机登录。

所以这文章纯属扯淡。
LeeReamond
2024-05-12 18:07:13 +08:00
@qsnow6 如果协议里每条请求都带验证头的话确实会降性能,就像 http 上如果带鉴权插件就是会降一样,不过照我的记忆 RESP 是通过 auth 命令单次校验的。
yalin
2024-05-12 18:09:43 +08:00
毕竟生成的内容
kneo
2024-05-12 18:12:54 +08:00
没测试过,不好说。redis 操作比起普通的业务操作来说可以认为是超级快,理论上有可能因为增加一个验证环节就导致极端性能测试的吞吐量下降的。
k9982874
2024-05-12 18:23:24 +08:00
啊?根据 redis-cli 的行为来看,感觉有点扯淡。redis-cli 也只是首次登陆时验证,建立连接后执行命令不需要再次验证,要是说 redis-cli 记录了用户密码每次附在请求中一起提交我是不信的。
想验证是否是真的像文中所说只要查一下各编程语言中的 redis client 实现即可。
ixiaohei
2024-05-12 18:35:41 +08:00
使用 redis 密码建议使用长连接;保持 session 。短连接每次新建连接都都需要 auth
cuishuang
2024-05-12 19:38:47 +08:00
@Yadomin 我去,厉害了...怎么做到的,老哥有脚本啥的吗
cuishuang
2024-05-12 19:39:14 +08:00
@yalin 当时还没有 chatgpt
Yadomin
2024-05-12 19:44:15 +08:00
@cuishuang redis 自带的 redis-benchmark
devliu1
2024-05-12 19:59:10 +08:00
长连接就好了,只需要第一次发送 AUTH 命令
hefish
2024-05-12 21:11:52 +08:00
很多贩卖安全的人,本身是不懂具体事务的,基本上只是照搬条例而已。
fkdtz
2024-05-12 21:53:54 +08:00
无论从实际使用经验,还是 Redis 的设计原则、还是 client server 通信原理来看,好像都不大可能啊。
他没说具体什么原因导致的吗?
极客时间上的课不都是付费的么,应该很严谨才对,评论中没有提出疑问的么。
Kinnice
2024-05-12 21:59:43 +08:00
他该不是每次操作的时候都先 auth 一下吧
ETiV
2024-05-12 22:02:45 +08:00
用 PHP 测得的数据?以 req/s 为单位
pluto1
2024-05-13 00:25:02 +08:00
去看看 RESP 协议就知道了,非常简单的,就是一来一回,没有额外的东西的,密码验证只需要 tcp 连接建立后 auth 一下,后面跟没有密码是一样的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1040022

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX