以下是一个使用Golang删除Redis集群中前缀为”abc”的所有key的示例代码:
package main
import (
"fmt"
"log"
"github.com/go-redis/redis/v8"
)
func main() {
// 连接到Redis集群
clusterClient := redis.NewClusterClient(&redis.ClusterOptions{
Addrs: []string{"node1:7000", "node2:7000", "node3:7000"}, // 替换为实际的节点地址和端口号
})
// 扫描匹配前缀为"abc"的key并逐个删除
var cursor uint64 = 0
match := "abc*"
count := 100
for {
keys, nextCursor, err := clusterClient.Scan(cursor, match, int64(count)).Result()
if err != nil {
log.Fatal(err)
}
for _, key := range keys {
err := clusterClient.Del(key).Err()
if err != nil {
log.Printf("Failed to delete key %s: %v\n", key, err)
} else {
fmt.Printf("Deleted key: %s\n", key)
}
}
cursor = nextCursor
if cursor == 0 {
break
}
}
// 关闭连接
if err := clusterClient.Close(); err != nil {
log.Fatal(err)
}
}
在这个示例代码中,我们使用了go-redis/redis
包来连接和操作Redis集群。请确保你已经安装了该包。
替换代码中的节点地址和端口号为你实际使用的Redis集群节点地址和端口号。然后,运行代码将会扫描匹配前缀为”abc”的所有key,并逐个进行删除操作。
请确保在执行删除操作之前,你已经备份了重要数据并仔细确认操作。
内容由零声教学AI助手提供,问题来源于学员提问