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

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

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

 

单机多实例设置

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

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

/etc/redis/redis.conf 

如果打算新开一个实例使用6581端口, 那么拷贝一份配置文件 redis.conf 改名为 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 双主备份实现

单机开启多个 Redis 实例

Redis实例(9)—— 主从复制

Redis实例(10)—— 持久化

Redis 主从集群配置高可用技术方案

redis-rdb-tools 解析 reids dump文件及内存使用量

Centos Redis 安装配置和启动脚本

Linux php7.0 安装redis和PHP扩展

Redis服务器监控工具redis-live

Redis Info 信息统计

redis.conf 配置详解

Redis常用命令

高可用网站架构的技术实践

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