Работа с базой данных на Redis
Панели управления
Redis-Commander
https://www.npmjs.com/package/redis-commander
Довольно удобная оболочка, написанная на NodeJs, позволяющая работать с БД, в том числе импортировать / экспортировать записи.
Установка и запуск на порту 8090:
npm install -g redis-commander redis-commander -p 8090
Redis Desktop Manager (Win/Linux/MacOS)
http://redisdesktop.com/download
На данный момент имеет довольно скудный функционал, которого впрочем хватает для большинства задач. Есть коннект через ssh-туннель, возможность редактировать отдельные записи. Возможности экспорта пока не видно. Как альтернативу можно рассмотреть ещё Fasto Redis, но пока он не очень.
Php Redis Managers
Утилиты
Redis-Dump
https://www.npmjs.com/package/redis-dump
Тот неловкий момент, когда тебе нужно экспортировать не всю бд, а лишь отдельные записи, в массовом порядке, а ты никогда не работал раньше с redis. В этот момент нам приходит на помощь утилитка redis-dump.
Установка:
npm install redis-dump -g
Использование:
redis-dump -f 'user:*' > users.txt # отдельные записи с учётками пользователей redis-dump > dump.txt # вся база
На выходе получим набор команд для redis-cli, которые удаляют записи, а затем добавляют их.
Импорт данных:
cat dump.txt | redis-cli # вариант 1 redis-cli < users.txt # вариант 2
Примечания
Запрет доступа
Стоит помнить, что redis открывает порт во вне, и если база без логина и пароля, любой сможет к ней присоединиться. В таком случае, нужно хотя бы запретить коннкты из вне, через iptables:
#iptables -A INPUT -p tcp --dport 6379 -s SOME_IP -j ACCEPT #если надо разрешить доступ для SOME_IP iptables -A INPUT -i lo -p tcp --dport 6379 -j ACCEPT # разрешаем локальные iptables -A INPUT -p tcp --dport 6379 -j DROP # отбрасываем остальные
Сохраняем настройки:
iptables-persistent save # либо netfilter-persistent save
Экспорт/импорт
http://stackoverflow.com/questions/6004915/how-do-i-move-a-redis-database-from-one-server-to-another
http://redis.io/topics/replication
Save a spanshot of the database into a dump.rdb by either running
BGSAVE
orSAVE
from the command line. This will create a file named dump.rdb in the same folder as your redis server. See a list of all server commands.Copy this dump.rdb to the other redis server you want to migrate to. When redis starts up, it looks for this file to initialize the database from.
Установка
На debian 7 в репозитариях, на данный момент, старая версия redis-server, если она вас устроит, то: apt-get install redis-server. В противном случае, пользуемся инструкцией по сборке: How To Install and Use Redis
http://docs.mirocow.com/doku.php?id=redis
http://www.codedwell.com/post/60/redis-how-to-delete-keys-matching-a-pattern
https://lauramocanita.wordpress.com/2013/04/19/learned-today-redis-cli-command-line-options/