1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hhxsv5-go-redis-memory-analysis

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Анализ памяти Redis

Анализ памяти Redis позволяет найти ключи (префиксы), которые используют много памяти, и экспортировать результаты анализа в файл CSV.

Использование бинарного файла

  1. Скачайте соответствующий бинарный файл с Releases.

  2. Запустите:

# 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="#//:"

Использование исходного кода

  1. Установите:
//cd your-root-folder-of-project
// dep init
dep ensure -add github.com/hhxsv5/go-redis-memory-analysis@~2.0.0
  1. Запустите:
  • Проанализируйте ключи, подключившись к Redis напрямую.
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)
}
  • Проанализируйте ключи по файлу Redis RDB, но не сможете определить размер ключа.
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)
}

CSV

Ещё один инструмент, реализованный на PHP

redis-memory-analysis

Лицензия

MIT

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Инструмент анализа памяти Redis, реализованный на Go: используется для поиска ключей, которые занимают больше всего памяти, результаты экспортируются в CSV-файл. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/hhxsv5-go-redis-memory-analysis.git
git@api.gitlife.ru:oschina-mirror/hhxsv5-go-redis-memory-analysis.git
oschina-mirror
hhxsv5-go-redis-memory-analysis
hhxsv5-go-redis-memory-analysis
master