Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 使用带有选项标志的ZADD_Go_Redis - Fatal编程技术网

Go 使用带有选项标志的ZADD

Go 使用带有选项标志的ZADD,go,redis,Go,Redis,如果记录在第一位不存在,我将尝试向排序集中添加一个带有分数的记录: func(r*rDA)InsertIntoSortedSetIfNotExist(值int32,分数int32)错误{ conn,err:=r.pool.GetContext(r.ctx) 如果错误!=零{ 返回错误 } 延迟连接关闭() _,err=conn.Do(“ZADD NX”,“some_key”,score,value)//err=“err”不支持命令“ZADD NX” 返回错误 } 但是,这不适用于表示不支持ZA

如果记录在第一位不存在,我将尝试向排序集中添加一个带有分数的记录:

func(r*rDA)InsertIntoSortedSetIfNotExist(值int32,分数int32)错误{
conn,err:=r.pool.GetContext(r.ctx)
如果错误!=零{
返回错误
}
延迟连接关闭()
_,err=conn.Do(“ZADD NX”,“some_key”,score,value)//err=“err”不支持命令“ZADD NX”
返回错误
}
但是,这不适用于表示不支持
ZADD NX
的错误

我试过这个,但效果不太好:

,err=conn.Do(“ZADD”,“some_key”,score,value,“NX”)//err=“err语法错误”

如果有人知道如何使用redigo使用ZADD NX命令,将不胜感激。谢谢

您面临的问题是由于NX的位置错误造成的

conn.Do("ZADD", "some_key", "NX",score, value) 
对于NX,redis的命令是这样使用的

ZADD NAME NX 2 'Jhon'
您还可以在以下位置签出文档:

ZADD支持在密钥名称后指定的选项列表 在第一次得分辩论之前


尝试conn.Do(“ZADD”,“some_key”,“NX”,score,value)这样,您已经尝试了
conn.Do(“ZADD”,“NX”,“some_key”,score,value)
,但它不起作用?@kostix Nope返回语法错误为well@ShubhamSrivastava是的,那条线确实管用。不知道NX标志需要放在那里。。。谢谢@我已经根据我的评论添加了一个详细的答案,希望能有所帮助!