Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。

它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和地理空间(geospatial) 索引半径查询。

Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)

 

单机多实例设置

Redis 支持在同一台主机上运行多个实例, 用来提供不同目的的服务. 

通过开放的端口号来区分, 默认端口是 6379, 配置文件路径是: 

/etc/redis/redis.conf 

如果打算新开一个实例使用6581端口, 那么拷贝一份配置文件改名为 redis-6581.conf 

修改里面与端口有关的配置:

port 6581
pidfile /var/run/redis/redis-server-6581.pid
unixsocket /var/run/redis/redis-6581.sock
logfile /var/log/redis/redis-server-6581.log
dbfilename dump-6581.rdb

需要注意的是, 正常应该使用 redis 用户启动 redis 服务, 意味着需要将以上配置文件涉及的目录权限赋予 redis 用户.

使用 redis 用户启动新服务的命令是:

# su -l redis --shell=/bin/bash -c '/usr/bin/redis-server /etc/redis/redis-6581.conf'

以下是一个示例配置文件:

# su -l redis --shell=/bin/bash -c '/usr/bin/redis-server /etc/redis/redis-6581.conf'

daemonize yes

port 6581
pidfile /var/run/redis/redis-server-6581.pid
unixsocket /var/run/redis/redis-6581.sock
logfile /var/log/redis/redis-server-6581.log
dbfilename dump-6581.rdb

tcp-backlog 511
bind 127.0.0.1
unixsocketperm 777
timeout 0
tcp-keepalive 0
loglevel notice
databases 16
save ""
stop-writes-on-bgsave-error yes
rdbcompression yes
dir /var/lib/redis
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实例(9)—— 主从复制

Redis 双主备份实现

Tornado+Redis 维护ADSL拨号服务器代理池

Redis集群之主从复制,读写分离