我使用redigo
redis庫,並檢查密鑰是否已存在於redis set
中。我使用redis命令SISMEMBER
,通過redirect的Do
方法返回一個接口。這是使用Do
執行的命令的響應。在SISMEMBER
命令的情況下,響應在1
或0
。在這種情況下,響應是0
,因爲給定密鑰不存在於該組中。但是reflect.DeepEqual(resp, 0)
正在返回false
,當預計爲true
時。這是不是使用DeepEqual
函數的正確方法?golang deepEqual接口{}到整數
import (
"fmt"
"reflect"
"github.com/garyburd/redigo/redis"
)
func main() {
conn, err := redis.Dial("tcp", "127.0.0.1:6379")
if err != nil {
fmt.Println(err.Error())
return
}
defer conn.Close()
resp, err := conn.Do("SISMEMBER", "mySet", "Hello")
if reflect.DeepEqual(resp, 0) {
fmt.Println("record doesn't exist")
}
}
謝謝,這個解決方案看起來很有前途。 – srini