Redis學習筆記~conf自主叢集模式
阿新 • • 發佈:2018-12-29
Redis自主提供了叢集模式,當然也只是比較簡單的讀寫分離模式,或者叫主從模式,它在各個redis服務端自己做資料同步機制,當然就是將主服務端的資訊同步到各個slave伺服器上,在客戶端整合的驅動中,需要指定主節點和從節點的資訊,服務端根據各自的conf的檔案來實現的,下面我主要說一下兩大客戶端驅動是實現叢集的方式方法。
服務端配置
服務端各個從伺服器配置如何(6789為主節點的埠,6380為自己節點的埠)
客戶端配置
ServiceStack.Redis驅動
/// <summary> /// 建立連結池管理物件/// </summary> private static void CreateManager() { //redis寫伺服器叢集 string[] writeServerList = ConfigManager.Config.Redis.WriteServerList.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); //redis讀伺服器叢集 string[] readServerList = ConfigManager.Config.Redis.ReadServerList.Split(newchar[] { ',' }, StringSplitOptions.RemoveEmptyEntries); RedisClientManagerConfig s = new RedisClientManagerConfig(); s.MaxWritePoolSize = ConfigManager.Config.Redis.MaxWritePoolSize; s.MaxReadPoolSize = ConfigManager.Config.Redis.MaxReadPoolSize; s.AutoStart= ConfigManager.Config.Redis.AutoStart; prcm = new PooledRedisClientManager(writeServerList, readServerList, s); }
StackExchange.Redis驅動
/// <summary> /// redis佇列管理者,簡單的佇列新增內容,以及實時消費等功能,與Lind.DDD.CachingQueue不同它將會連線到本地的redis伺服器 , /// 預設6379埠,多個連線通過逗號分割 。 其他選項在名稱的後面包含了一個 “= ”。 例如 /// var conn = ConnectionMultiplexer.Connect("redis0:6380,redis1:6380,allowAdmin=true"); /// </summary> public class RedisQueueManager { /// <summary> /// redis連線物件 /// </summary> static ConnectionMultiplexer conn = ConnectionMultiplexer.Connect(ConfigConstants.ConfigManager.Config.Redis.Host); /// <summary> /// 快取資料庫 /// </summary> static IDatabase cache = conn.GetDatabase();
也可以通過ConfigurationOptions引數來進行配置
ConfigurationOptions config = new ConfigurationOptions { EndPoints = { { "redis0", 6379 }, { "redis1", 6380 } }, CommandMap = CommandMap.Create(new HashSet<string> { "INFO", "CONFIG", "CLUSTER", "PING", "ECHO", "CLIENT" }, available: false), KeepAlive = 180, DefaultVersion = new Version(2, 8, 8), Password = "changeme" };
當然,它上面程式碼也可以直接使用下面的字串來代替,引數化比較靈活
redis0:6379,redis1:6380,keepAlive=180,version=2.8.8,$CLIENT=,$CLUSTER=,$CONFIG=,$ECHO=,$INFO=,$PING=
好了,對於redis自主叢集模式就介紹到這裡,下次我們來說說Redis Cluster這個叢集,它也是大勢所趨!
感謝各位的閱讀!