redigo 批量刪除使用

業務中需要刪除無效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
}
**/





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章