- 假设有ip为192.168.1.2 192.168.1.3 192.168.1.4三台服务器,用来部署redis6集群;还有ip为192.168.1.5 机器用来部署redis cluster proxy;所有服务器都是ubuntu~
部署redis集群
- 在 192.168.1.2、192.168.1.3 和 192.168.1.4 上安装 Redis 6 并配置集群
配置:
# 安装 Redis 6
sudo apt-get update
sudo apt-get install redis-server
# 编辑配置文件 /etc/redis/redis.conf,添加以下配置
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
# 重启 Redis
sudo systemctl restart redis
- 初始化集群(高可用的话建议每个节点用一主两从)
redis-cli --cluster create 192.168.1.2:6379 192.168.1.3:6379 192.168.1.4:6379
部署redis cluster proxy集群
- 在 192.168.1.5安装 redis cluster proxy
# 安装依赖
apt-get install gcc make libevent-dev
# 下载和编译 redis cluster proxy
git clone https://github.com/RedisLabs/redis-cluster-proxy.git
make && make install
- 编辑 redis cluster proxy配置文件 proxy.conf,找到注释并添加集群的ip:port
# You can also specify multiple entry-points, by adding more lines, ie:
cluster 192.168.1.2:6379
cluster 192.168.1.3:6379
cluster 192.168.1.4:6379
- 在 192.168.1.5上启动 redis cluster proxy(高可用的话建议用三个节点,前面挂负载均衡)
./redis-cluster-proxy -c ./proxy.conf
golang版本使用示例
package main
import (
"context"
"fmt"
"github.com/go-redis/redis/v8"
"time"
)
func main() {
// 创建Redis客户端
client := redis.NewClient(&redis.Options{
// 连接redis cluster proxy的地址和端口
Addr: "192.168.1.5:7777",
DialTimeout: 5 * time.Second,
ReadTimeout: 5 * time.Second,
})
// 设置一个键值对
err := client.Set(context.Background(), "key", "value", 0).Err()
if err != nil {
panic(err)
}
// 获取键对应的值
val, err := client.Get(context.Background(), "key").Result()
if err != nil {
panic(err)
}
fmt.Println("key:", val)
}
网友评论