Skip to content

Instantly share code, notes, and snippets.

@mesutpiskin
Last active December 2, 2022 07:09
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mesutpiskin/a1aa7cc60ba9c654719b4cc107894097 to your computer and use it in GitHub Desktop.
Save mesutpiskin/a1aa7cc60ba9c654719b4cc107894097 to your computer and use it in GitHub Desktop.
Redis Delete Keys Matching a Search Pattern with Go Lang. Redis client https://github.com/go-redis/redis
package main
import (
"context"
"fmt"
"os"
"github.com/go-redis/redis/v8"
)
var ctx = context.Background()
func main() {
redisClient := redis.NewClient(&redis.Options{
Addr: "IP:PORT",
Password: "PASSWORD",
DB: 0,
})
searchPattern := "MYKey*"
if len(os.Args) > 1 {
searchPattern = os.Args[1]
}
var foundedRecordCount int = 0
iter := redisClient.Scan(ctx, 0, searchPattern, 0).Iterator()
fmt.Printf("YOUR SEARCH PATTERN= %s\n", searchPattern)
for iter.Next(ctx) {
fmt.Printf("Deleted= %s\n", iter.Val())
redisClient.Del(ctx, iter.Val())
foundedRecordCount++
}
if err := iter.Err(); err != nil {
panic(err)
}
fmt.Printf("Deleted Count %d\n", foundedRecordCount)
redisClient.Close()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment