1. 程式人生 > >Lind.DDD.Repositories.Redis層介紹

Lind.DDD.Repositories.Redis層介紹

ngx src mbx 環境 nfv cbc xmx efm lvf

倉儲大叔好了相贈 網上2500元 跟誰學課堂 C#視頻 ddd領域驅動架構設計視頻 還贈送ABP視頻兩套

qq 2589406800 qq1399494644 qq2128543647 qq2890083872 qq3235634116 qq3381945576 qq2171713479
源代碼框架lind.ddd(後臺管理系統,電商系統,API,SSO,xamarin,ko,各組件單元測試) 贈送ABP視頻
+lindCore源碼+LindAgility(敏捷框架) (60元)

Lind.DDD.Repositories.Redis層介紹

回到目錄

之前已經發生了

大叔之前介紹過關於redis的文章,有緩存,隊列,分布式pub/sub,數據集緩存以及倉儲redis的實現等等,而今天在Lind.DDD的持久化組件裏,redis當然也有一席之地,作為當今最紅的key/value存儲機制,它在nosql的陣營中發揮著無可代替的作用!

下面是redis文章系列的目錄,大家可以進行參考,看目錄

Redis學習筆記~Redis在windows環境下的安裝

Redis學習筆記~Redis在.net中的應用

Redis學習筆記~Redis提供的五種數據結構

Redis學習筆記~五大數據結果的測試

Redis學習筆記~實現消息隊列比MSMQ更方便

Redis學習筆記~把redis放在DATA層,作為一種數據源,我認為更合理,也更符合我的面向對象原則

Redis學習筆記~是時候為Redis實現一個倉儲了,RedisRepository來了

Redis學習筆記~Redis實現多個緩存服務器,讀寫分離

Redis學習筆記~Redis事務機制與Lind.DDD.Repositories.Redis事務機制的實現

Redis學習筆記~Redis並發鎖機制

Lind.DDD裏的倉儲模塊,Mongodb有一席之地

技術分享

大叔的Redis倉儲結構

技術分享

大叔在進行redis倉儲設計時,使用了redis事務機制來維持數據的一致性,這種事務要求它們屬於同一個redis連接對象,所以,在SetDataContext方法中實現了這種業務邏輯

技術分享
        public void SetDataContext(object db)
        {
            try
            {
                //手動Redis數據庫對象,在redis事務時啟用
                redisDB = (IRedisClient)db;
                redisTypedClient = redisDB.GetTypedClient<TEntity>();
                table = redisTypedClient.Lists[typeof(TEntity).Name];
            }
            catch (Exception)
            {

                throw new ArgumentException("redis.SetDataContext要求db為IRedisClient類型");
            }

        }
技術分享

Lind.DDD.Repositories.Redis層介紹