Skip to content

Instantly share code, notes, and snippets.

@M0nteCarl0
Created July 27, 2023 06:21
Show Gist options
  • Save M0nteCarl0/958e35b0d8956c3c76450510170f3721 to your computer and use it in GitHub Desktop.
Save M0nteCarl0/958e35b0d8956c3c76450510170f3721 to your computer and use it in GitHub Desktop.
Redis to json
#!/bin/bash
# Установите имя базы данных Redis
redis_db_name="my_redis_db"
# Установите имя JSON файла для сохранения данных
json_file_name="${redis_db_name}.json"
# Получите все ключи Redis из базы данных
redis_keys=$(redis-cli -n 0 keys "*")
# Создайте ассоциативный массив для хранения ключей и хешей Redis
declare -A redis_data
# Переберите все ключи и получите хеш для каждого ключа
for key in $redis_keys; do
redis_hash=$(redis-cli -n 0 hgetall $key)
redis_data[$key]="$redis_hash"
done
# Преобразуйте ассоциативный массив в JSON и сохраните его в файл
echo "${redis_data[@]}" | jq -R 'split("\n") | map(select(length > 0) | split("=") | {(.[0]): .[1]}) | add' > $json_file_name
echo "Данные Redis сохранены в файле $json_file_name"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment