{{tag>Server shell redis lua scripts}}

====== Redis ======

  * redis-cli

===== Настройка =====

sysctl.conf
<code bash>vm.overcommit_memory = 1</code>

Пример конфига redis.conf
<code>daemonize yes

databases 30

# Bind:
bind 127.0.0.1
port 6379

tcp-backlog 511
tcp-keepalive 0

timeout 0

# PID:
pidfile /var/run/redis/redis-server.pid

# Socket:
unixsocket /var/run/redis/redis.sock
unixsocketperm 666

# Log:
loglevel warning
logfile /var/log/redis/redis-server.log

# Save:
save 900 1
save 300 10
save 60 10000

appendfsync everysec
appendonly no

maxclients 1000000

repl-disable-tcp-nodelay no
repl-diskless-sync no</code>
===== Ключи =====

  * --rdb /usr/local/var/db/redis/dump.rdb

===== Dump / Дамп БД =====

Опция save сохраняет БД redis в указанный в конфигурационном файле файл /usr/local/var/db/redis/dump.rdb

<code sh>
redis-cli save
</code>

===== Restore / Восстановление =====

Восстановление БД отсутствует как таковое. Для восстановления достатоно переписать файл БД Redis dump.rdb из восстанавливаемой БД.

===== Удаление по списку ключей =====

<code sh>
$ redis-cli -n 1 KEYS "session:*" | xargs redis-cli -n 1 DEL
</code>

  * -n - ID БД Redis 

<code sh>
for key in `echo 'KEYS session:*' | redis-cli | awk '{print $1}'`
 do echo DEL $key
done | redis-cli
</code>

<code sh>
$ echo 'KEYS session:*' | redis-cli | awk '{print $1}
</code>

<code sh>
$ redis-cli KEYS "session:*" | xargs redis-cli DEL
</code>

===== Поиск и удаление из множества =====

<code sh>
$ redis-cli -n 1 ZRANGE sn:email 0 100|grep email@gmail.com
$ redis-cli -n 1 ZREM sn:email email@gmail.com
</code>
===== Клиенты =====

  * **https://github.com/joeferner/redis-commander**
  * http://fastoredis.com/
  * https://github.com/ErikDubbelboer/phpRedisAdmin
  * https://github.com/monterail/redis-browser
  * http://getmedis.com/ (Node)
  * https://github.com/onewe/RedisDesktopManager-Mac/releases RedisDesktopManager (Mac) :!:

===== Мониторинг =====

  * https://github.com/junegunn/redis-stat
  * https://github.com/nkrode/RedisLive

===== Документация =====

  * [[redis:commands]]
  * [[http://redis.io/commands|Описания команд]]
  * [[develop:redis:doc| Документация ]]
  * [[develop:redis:lua]]
  * [[develop:languages:lua]]
  * http://www.bazhukov.net/little-redis-book/ :!:
  * http://habrahabr.ru/post/140893/
  * http://profyclub.ru/docs/169
  * [[develop:redis:errors]]
