How To Work With Redis Database

Работа с базой данных на 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

PHPRedMin

PHP Redis Admin (демо)

Php Redis Browser (демо)

Утилиты

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 or SAVE 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.

Есть ещё утилитка rdd

Установка

На 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/

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *