Vì Redis có thể đọc cấu hình của nó từ stdin
, Tôi làm điều gì đó rất giống với những gì @jolestar đã đề xuất. Tôi đặt các biến giữ chỗ trong redis.conf
của mình và sau đó thay thế chúng bằng sed
trong trình khởi chạy Redis của tôi. Ví dụ:
==========
$MY_HOME/redis/redis.conf
==========
...
pidfile {DIR}/pids/server{n}.pid
port 123{n}
...
Sau đó, tôi có một tập lệnh để bắt đầu Redis:
==========
runredis.sh
==========
DIR=$MY_HOME/redis
for n in {1..4}; do
echo "starting redis-server #$n ..."
sed -e "s/{n}/$n/g" -e "s/{DIR}/$DIR/g" < $DIR/redis.conf | redis-server -
done
Tôi đã sử dụng phương pháp này mãi mãi và nó hoạt động tốt.