Laravel redis集群配置

实验环境

  • Laravel 8.22.1
  • Ubuntu 20.04
  • Redis server 5.0.7
  • php 7.4

Laravel redis 分片集群配置参考

 'options' => [
     'cluster' => env('REDIS_CLUSTER', 'redis'),
     'password' => env('REDIS_CLUSTER_PASSWORD', null),
     //当phpredis版本大于4.3.0时,在这里配置redis原生集群密码
 ],
 'clusters' => [
     'default' => [
         [
             'host' => env('REDIS_CLUSTER_HOST_M1', 'localhost'),
             'port' => env('REDIS_CLUSTER_PORT_M1', 6379),
             'database' => 0,
         ], [
             'host' => env('REDIS_CLUSTER_HOST_M2', 'localhost'),
             'port' => env('REDIS_CLUSTER_PORT_M2', 6379),
             'database' => 0,
         ], [
             'host' => env('REDIS_CLUSTER_HOST_M3', 'localhost'),
             'port' => env('REDIS_CLUSTER_PORT_M3', 6379),
             'database' => 0,
         ], [
             'host' => env('REDIS_CLUSTER_HOST_S1', 'localhost'),
             'port' => env('REDIS_CLUSTER_PORT_S1', 6379),
             'database' => 0,
         ], [
             'host' => env('REDIS_CLUSTER_HOST_S2', 'localhost'),
             'port' => env('REDIS_CLUSTER_PORT_S2', 6379),
             'database' => 0,
         ], [
             'host' => env('REDIS_CLUSTER_HOST_S3', 'localhost'),
             'port' => env('REDIS_CLUSTER_PORT_S3', 6379),
             'database' => 0,
         ]
     ],
 ],

快速创建的创建脚本

#!/bin/bash
mkdir -p redis
cd ./redis
mkdir -p {6381..6386}

dir=$(pwd)

for a in {6381..6386};
do
  echo "daemonize yes
port $a
dir "$dir/$a"
pidfile "$dir/$a.pid"
dbfilename "$a.rdb"
logfile "$dir/$a.log"
cluster-enabled yes
cluster-config-file "$dir/$a.conf"
">./config-$a.conf ;
done;
chmod 777 ./*
for a in {6381..6386};
do
  /usr/bin/redis-server $dir/config-$a.conf &
done;

启动脚本

redis-cli  --cluster create localhost:6381 localhost:6382 localhost:6383 localhost:6384 localhost:6385 localhost:6386 --cluster-replicas 1
点赞