Created
July 27, 2023 06:21
-
-
Save M0nteCarl0/958e35b0d8956c3c76450510170f3721 to your computer and use it in GitHub Desktop.
Redis to json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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