redis|redis-py zadd 和 zincrby的设计简直让我理解不能啊

发布于 2022-09-03 11:49:51 字数 377 浏览 15 评论 0

redis
zadd命令为 zadd 变量 val key
zincrby命令为 zincrby 变量 val key

hset的命令为 hset 变量 key val 像hash这种赋值为key val的赋值方式我是很理解的

z系列的东西是val key就算了,然而redis.py里面的设计为什么这么诡异

conn.zadd 变量 val key 跟 redis的zadd顺序一致
conn.zincrby 变量 key val跟 redis的zincrby顺序相反

理解不能啊,首先zadd里面当年为毛设计成val key而不是key val,其次写redis-py的作者是怎么想的,为毛zadd与zincrby一个跟默认命令顺序相同,一个跟默认命令相反?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

罪#恶を代价 2022-09-10 11:49:51

因为这几个参数的叫法不是你写的这样:

zadd命令为 zadd 变量 val key

而是

zadd key score member

key是有序集合的key,你所谓的val是集合里面每个成员的分数,而最后是成员。这东西和普通的set key value根本是两回事。

但为啥是score member而不是member score我就不太清楚了,个人瞎猜可能设计者认为这个跟排行榜是类似的,排行榜一般都是排名在前,谁是这个排名在后

空名 2022-09-10 11:49:51

首先你要搞清楚,redis-py中有两个类:Redis和StrictRedis。
其次,Redis这种score在前,member在后的设计,可能真的是当时作者脑子抽了
链接描述

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文