Redis

最流行的内存数据库,Redis可以理解为Remote Dictionary Service.

基本用法

安装

sudo apt install redis-server

# 启动(默认自动启动)
redis-server

# 客户端
redis-cli
127.0.0.1:6379> ping

基本配置

# 默认端口 6379
# 配置文件 /etc/redis/redis.conf
bind 0.0.0.0  # 运行远程访问,开发环境

redis-cli

# 常用命令
ping   # 检查连通性
    -h <host>  -p <port>
    shutdown
    flushall    清数据库
    INFO
    SLAVEOF NO ONE                / hostname port
    CONFIG SET protected-mode no

集群/高可用

Redis Cluster

提供自动分片(sharding)和部分高可用

可用性:只要集群中大多数master可达、且失效的master至少有一个slave可达时,集群都可以继续提供服务

# 两种安装方式
# Ruby脚本方式
yum install ruby -y
yum install rubygems
gem install redis 
# 自带脚本
cd utils/create-cluster/
# 编辑create-cluster文件,更新35行 HOSTS="$HOSTS <YOUR_SERVER_IP>:$PORT"
./create-cluster start
./create-cluster create
# 停止/卸载
./create-cluster stop
./create-cluster clean
## 密码认证
config set masterauth p@ssw0rd
config set requirepass p@ssw0rd
config rewrite
# 带参数 --masterauth p@ssw0rd --requirepass p@ssw0rd

Redis Sentinel

提供高可用及以下功能:

  • Monitoring

  • 通知

  • 自动故障转移Failover (Master -> Slave)

  • 配置提供者(为客户端提供唯一入口)

优化

# 编辑/etc/sysctl.conf
net.core.somaxconn=65535
# 或及时生效
sysctl -w net.core.somaxconn=65535

管理工具

资源

  • codis: 豌豆荚开源集群