Анализ памяти Redis позволяет найти ключи (префиксы), которые используют много памяти, и экспортировать результаты анализа в файл CSV.
Скачайте соответствующий бинарный файл с Releases.
Запустите:
# help
./redis-memory-analysis-linux-amd64 -h
Использование ./redis-memory-analysis-darwin-amd64:
-ip string
Хост Redis (по умолчанию «127.0.0.1»)
-password string
Пароль Redis (по умолчанию "")
-port uint
Порт Redis (по умолчанию 6379)
-rdb string
Файл RDB Redis (по умолчанию "")
-prefixes string
Список префиксов ключей Redis, разделенных '//', специальные символы шаблона необходимо экранировать с помощью '\' (по умолчанию "#//:")
-reportPath string
Путь к файлу CSV с результатами анализа (по умолчанию "./reports")
# запуск с подключением к redis
./redis-memory-analysis-linux-amd64 -ip="127.0.0.1" -port=6380 -password="abc" -prefixes="#//:"
# запуск по файлу redis rdb
./redis-memory-analysis-linux-amd64 -rdb="./6379_dump.rdb" -prefixes="#//:"
//cd your-root-folder-of-project
// dep init
dep ensure -add github.com/hhxsv5/go-redis-memory-analysis@~2.0.0
analysis := NewAnalysis()
//Open redis: 127.0.0.1:6379 без пароля
err := analysis.Open("127.0.0.1", 6379, "")
defer analysis.Close()
if err != nil {
fmt.Println("something wrong:", err)
return
}
//Сканируйте ключи, которые можно разделить на '#' ':'
//Специальные символы шаблона нужно экранировать с помощью '\'
analysis.Start([]string{"#", ":"})
//Найдите файл CSV в целевой папке по умолчанию: ./reports
//Формат имени файла CSV: redis-analysis-{host:port}-{db}.csv
//Ключи упорядочены по количеству в порядке убывания
err = analysis.SaveReports("./reports")
if err == nil {
fmt.Println("done")
} else {
fmt.Println("error:", err)
}
analysis := NewAnalysis()
//Откройте файл Redis RDB: ./6379_dump.rdb
err := analysis.OpenRDB("./6379_dump.rdb")
defer analysis.CloseRDB()
if err != nil {
fmt.Println("что-то пошло не так:", err)
return
}
//Просканируйте ключи, которые можно разделить на '#' ':'
//Специальные символы шаблона необходимо экранировать с помощью '\'
analysis.StartRDB([]string{"#", ":"})
//Найдите файл CSV в целевой папке по умолчанию: ./reports
//Формат имени файла CSV: redis-analysis-{host:port}-{db}.csv
//Ключи упорядочены по количеству в порядке убывания
err = analysis.SaveReports("./reports")
if err == nil {
fmt.Println("готово")
} else {
fmt.Println("ошибка:", err)
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )