中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

Redis學習筆(bi)記~conf自主集(ji)群模(mo)式

回到目錄

Redis自(zi)主(zhu)提供了(le)集(ji)群模式,當然也只是比較(jiao)簡單的(de)讀(du)寫分(fen)離模式,或者(zhe)叫主(zhu)從模式,它在各個redis服務端(duan)自(zi)己做(zuo)數據同步機制,當然就是將主(zhu)服務端(duan)的(de)信息同步到各個slave服務器上,在客戶端(duan)集(ji)成的(de)驅動中,需(xu)要指定主(zhu)節(jie)點和(he)從節(jie)點的(de)信息,服務端(duan)根據各自(zi)的(de)conf的(de)文件來實現的(de),下(xia)面我主(zhu)要說一下(xia)兩大客戶端(duan)驅動是實現集(ji)群的(de)方式方法(fa)。

服務端配置

服務端(duan)各個從服務器配(pei)置(zhi)如何(he)(6789為主節(jie)點(dian)的端(duan)口,6380為自己(ji)節(jie)點(dian)的端(duan)口)

客戶端配置

ServiceStack.Redis驅動(dong)

        /// <summary>
        /// 創建鏈接池(chi)管理對象
        /// </summary>
        private static void CreateManager()
        {
            //redis寫服(fu)務器集群
            string[] writeServerList = ConfigManager.Config.Redis.WriteServerList.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            //redis讀服(fu)務(wu)器集群
            string[] readServerList = ConfigManager.Config.Redis.ReadServerList.Split(new char[] { ',' }, 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隊列(lie)管理(li)者(zhe),簡單的隊列(lie)添加內容,以及(ji)實時消費等功能(neng),與Lind.DDD.CachingQueue不同它將會(hui)連接到(dao)本地的redis服務(wu)器 , 
    /// 默(mo)認6379端口,多個(ge)(ge)連接通過逗號(hao)分割 。 其他選項在名稱的后面包(bao)含了(le)一個(ge)(ge) “= ”。 例如(ru)
    /// var conn = ConnectionMultiplexer.Connect("redis0:6380,redis1:6380,allowAdmin=true");
    /// </summary>
    public class RedisQueueManager
    {
        /// <summary>
        /// redis連(lian)接(jie)對象
        /// </summary>
        static ConnectionMultiplexer conn = ConnectionMultiplexer.Connect(ConfigConstants.ConfigManager.Config.Redis.Host);
        /// <summary>
        /// 緩存數據庫
        /// </summary>
        static IDatabase cache = conn.GetDatabase();

也(ye)可以通過ConfigurationOptions參數來(lai)進行配置

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"
};

當然,它(ta)上面代(dai)碼也可(ke)以(yi)直(zhi)接使用下面的(de)字(zi)符串來代(dai)替,參數化比(bi)較靈活

redis0:6379,redis1:6380,keepAlive=180,version=2.8.8,$CLIENT=,$CLUSTER=,$CONFIG=,$ECHO=,$INFO=,$PING=

好了(le),對于redis自主集群模式就介紹到這里,下(xia)次我們來說說Redis Cluster這個(ge)集群,它也是(shi)大勢所趨(qu)!

感謝各位的閱讀!

回到目錄

 

posted @ 2016-08-22 09:44  張占嶺  閱讀(2187)  評論(0)    收藏  舉報