我似乎有使用 HDEL 命令界面的正确用法,但似乎删除了 0 条记录。我在这里错过了什么吗?
以下是有用的代码片段:
这不起作用:
keysToDeleteArr []string //this has valid key values from upstream
s.transClient.Do("MULTI")
_, err := s.transClient.Do("HDEL", myhash, keysToDeleteArr)
s.transClient.Do("EXEC")
给出输出 (int64) 0 // 删除的键数
这确实有效:
s.transClient.Do("MULTI")
for _, keyToDelete := range keysToDeleteArr {
_, err := s.transClient.Do("HDEL", myhash, keyToDelete)
}
s.transClient.Do("EXEC")
为每个 HDEL 提供一个输出 (int64) 1。从文档和 redigo lib 上的静态代码分析来看,切片似乎是可接受的参数fields