業務中需要刪除無效key,Aof大概2T,從Aof中獲取無效key大概2G
由於數量比較多,需要腳本批量刪除,利用MULTI批量刪除
package main
import (
"fmt"
"github.com/garyburd/redigo/redis"
)
func main() {
conn, err := redis.Dial("tcp", "127.0.0.1:6379")
if err != nil {
panic(err)
}
defer conn.Close()
conn.Do("SET", "app1", "test1")
conn.Do("SET", "app2", "test2")
val, err := redis.Strings(conn.Do("KEYS", "app*"))
fmt.Println(val, err)
conn.Send("MULTI")
for i, _ := range val {
conn.Send("DEL", val[i])
}
fmt.Println(conn.Do("EXEC"))
}
/**
* 獨立方法
*/
/**
func DeleteRedis(arr []string) (res string, err error) {
conn := RedisPool.Get()
conn.Send("MULTI")
for _, v := range arr {
if len(v) == 0 {
continue
}
arr := strings.Fields(v)
conn.Send("DEL", arr[1])
res += arr[1] + " "
}
_, err = conn.Do("EXEC")
conn.Close()
return
}
**/