Установка и настройка Redis
Установка Redis
Я обычно создаю каталог setups в каталоге /opt для хранения пакетов установки программного обеспечения, а также каталог program в каталоге /usr для хранения распакованных пакетов программного обеспечения. В дальнейшем описании я буду опираться на эту практику.
Также я использую сторонние источники: EPEL и RepoForge. Если у вас возникают проблемы с установкой программного обеспечения с помощью команды yum install XXXXX, возможно, вам не хватает соответствующих источников. Рекомендую ознакомиться с моими статьями о настройке источников.
Для загрузки Redis выполните команду:
wget http://download.redis.io/releases/redis-3.0.7.tar.gz
(размер файла: 1,4 Мбайт).
Затем установите необходимые пакеты с помощью команды:
yum install -y gcc-c++ tcl
.
Распакуйте файл с помощью команды:
tar zxvf redis-3.0.7.tar.gz
.
Переместите распакованный файл в каталог установки:
mv redis-3.0.7/ /usr/program/
.
Перейдите в каталог с распакованными файлами:
cd /usr/program/redis-3.0.7/
.
Скомпилируйте программу с помощью команды:
make
.
Установите программу с помощью команды:
make install
. После установки в каталоге /usr/local/bin
появится несколько файлов, связанных с Redis.
Скопируйте конфигурационный файл:
cp /usr/program/redis-3.0.7/redis.conf /etc/
.
Измените конфигурацию:
daemonize no
на daemonize yes
./usr/local/bin/redis-server /etc/redis.conf
.
Проверьте, запущен ли сервер:
ps -ef | grep redis
.
Войдите в клиент:
redis-cli
.
Завершите работу клиента:
redis-cli shutdown
.
Настройте запуск сервера при загрузке системы:
echo "/usr/local/bin/redis-server /etc/redis.conf" >> /etc/rc.local
.
Откройте порт для доступа к серверу:
sudo iptables -I INPUT -p tcp -m tcp --dport 6379 -j ACCEPT
.
sudo /etc/rc.d/init.d/iptables save
.
sudo service iptables restart
.
Настройка Redis
Отредактируйте конфигурационный файл: vim /usr/program/redis-3.0.7/redis.conf
.
Конфигурационный файл Redis по умолчанию содержит следующие настройки:
# 是否以后台daemon方式运行,默认是 no,一般我们会改为 yes
daemonize no
pidfile /var/run/redis.pid
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 0
loglevel notice
logfile ""
# 开启数据库的数量,Redis 是有数据库概念的,默认是 16 个,数字从 0 ~ 15
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
Команды Redis
Команды Redis не чувствительны к регистру, но здесь для удобства и соответствия последующим ключевым значениям они написаны заглавными буквами. Однако следует отметить, что ключи полностью чувствительны к регистру. Например, ключ codeBlog и codeblog представляют собой два разных ключа.
Официальный список команд: http://redis.io/commands.
SET key value — устанавливает значение ключа. Пример: SET myblog www.youmeek.com.
GET key — получает значение ключа.
INCR key — увеличивает значение ключа на единицу.
DECR key — уменьшает значение ключа на единицу.
*KEYS ** — отображает все ключи в текущей базе данных.
APPEND key value — добавляет значение в конец ключа. Если ключ не существует, то он будет создан и значение будет добавлено.
STRLEN key — возвращает длину значения ключа. Если ключ не существует, возвращается 0.
MSET key1 value1 key2 value2 — одновременно устанавливает несколько значений ключей.
MGET key1 value1 key2 value2 — одновременно получает несколько значений ключей.
EXPIRE key 27 — устанавливает срок жизни ключа в секундах.
TTL key — проверяет оставшееся время жизни ключа. Возвращает -2, если ключ не существует или срок его жизни истёк; -1, если срок жизни не установлен; положительное число, если осталось указанное количество секунд.
PERSIST key — удаляет срок жизни ключа, делая его постоянным. Также можно удалить срок жизни, установив новое значение ключа.
FLUSHDB — очищает все значения ключей в текущей базе данных.
FLUSHALL — очищает значения всех ключей во всех базах данных.
Клиент Redis
Существует множество клиентов Redis для различных языков программирования. Для Java рекомендуется использовать Jedis. Официальный сайт Jedis: https://github.com/xetorthio/jedis.
Графический интерфейс управления Redis
Redis Desktop Manager — это графический интерфейс для управления Redis. Официальный сайт: http://redisdesktop.com/. Официальный сайт для скачивания: http://redisdesktop.com/download. Эффект от использования показан на рисунке ниже:
Архитектура главного и подчинённого серверов Redis
Предположим, у нас есть два сервера: один главный, другой подчинённый.
Информация о главном сервере:
Информация о подчинённом сервере:
В конфигурационном файле подчинённого сервера найдите строку 210 (примерно), которая по умолчанию должна быть закомментирована: # slaveof .
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )