问题描述
rediszadd命令为 zadd 变量 val keyzincrby命令为 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一个跟默认命令顺序相同,一个跟默认命令相反?
问题解答
回答1:因为这几个参数的叫法不是你写的这样:
zadd命令为 zadd 变量 val key
而是
zadd key score member
key是有序集合的key,你所谓的val是集合里面每个成员的分数,而最后是成员。这东西和普通的set key value根本是两回事。
但为啥是score member而不是member score我就不太清楚了,个人瞎猜可能设计者认为这个跟排行榜是类似的,排行榜一般都是排名在前,谁是这个排名在后