redisプライマリ・スレーブ・サーバ・クラスタの単純な構築
** 1**
1 192.168.157.128 Desktop , conf
2 conf 7000.conf,
port 7000
bind 192.168.157.128
daemonize yes
pidfile 7000.pid
cluster-enabled yes
cluster-config-file 7000_node.conf
cluster-node-timeout 15000
appendonly yes
3 conf 7001.conf,
port 7001
bind 192.168.157.128
daemonize yes
pidfile 7001.pid
cluster-enabled yes
cluster-config-file 7001_node.conf
cluster-node-timeout 15000
appendonly yes
4 conf 7002.conf,
port 7002
bind 192.168.157.128
daemonize yes
pidfile 7002.pid
cluster-enabled yes
cluster-config-file 7002_node.conf
cluster-node-timeout 15000
appendonly yes
: port、pidfile、cluster-config-file
redis
redis-server 7000.conf
redis-server 7001.conf
redis-server 7002.conf
配置機械2 1は192.168.157.127でプロジェクト記録をアップロードし、confプロジェクト記録を作成する2 confプロジェクト記録の下でプロジェクト記録7003を作成する.conf,編集内容はport 7003 bind 192.168.157.128 daemonize yes pidfile 7003.pid cluster-enabled yes cluster-config-file 7003_node.conf cluster-node-timeout 15000 appendonly yes 3 confプロジェクトレコードの下でファイル7004を作成する.conf,編集内容はport 7004 bind 192.168.157.128 daemonize yes pidfile 7004.pid cluster-enabled yes cluster-config-file 7004_node.conf cluster-node-timeout 15000 appendonly yes 4 confプロジェクトレコードの下でプロジェクト7005を作成する.conf,編集内容はport 7005 bind 192.168.157.128 daemonize yes pidfile 7005.pid cluster-enabled yes cluster-config-file 7005_node.conf cluster-node-timeout 15000 appendonly yesまとめ:この3つのファイルの構成の違いはport、pidfile、cluster-config-fileの3つだけで、プロファイルを使用してredisサービスredis-server 7003を起動する.conf redis-server 7004.conf redis-server 7005.conf
クラスタの作成
1 redis redis-trib.rb, //ruby
2 192.168.157.128
3 ,
sudo cp/usr/share/doc/redis-tools/examples/redis-trib.rb/usr/local/bin/プロンプトディレクトリが存在しない場合は、プロンプトに従ってrubyをインストールし、必要な他のコンポーネントをインストールします.
4 ruby , redis-trib.rb ruby
sudo apt-get install ruby
**次のコマンドを実行してクラスタ**redis-tribを作成します.rb create --replicas 1 192.168.157.128:7000 192.168.157.128:7001 192.168.157.128:7002 192.168.157.127:7003 192.168.157.127:7004 192.168.157.127:7005
go言語redis-clusterオープンソースクライアント
インストール:go get github.com/gitstliu/go-redis-clusterサンプルコード
:
go get github.com/gitstliu/go-redis-cluster
func (this*ClusterController)Get(){
cluster, _ := redis.NewCluster(
&redis.Options{
StartNodes: []string{"192.168.157.128:7000", "192.168.157.128:7001", "192.168.157.128:7002","192.168.157.127:7003","192.168.157.127:7004","192.168.157.127:7005"},
ConnTimeout: 50 * time.Millisecond,
ReadTimeout: 50 * time.Millisecond,
WriteTimeout: 50 * time.Millisecond,
KeepAlive: 16,
AliveTime: 60 * time.Second,
})
cluster.Do("set","name","itheima")
name,_ := redis.String(cluster.Do("get","name"))
beego.Info(name)
this.Ctx.WriteString(" ")
}