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

34 天前
 cuishuang

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

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

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

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