回到目錄之前已經發生了大叔之前介紹過關於redis的文章,有緩存,隊列,分散式pub/sub,數據集緩存以及倉儲redis的實現等等,而今天在Lind.DDD的持久化組件里,redis當然也有一席之地,作為當今最紅的key/value存儲機制,它在nosql的陣營中發揮著無可代替的作用!下麵是red...
之前已經發生了
大叔之前介紹過關於redis的文章,有緩存,隊列,分散式pub/sub,數據集緩存以及倉儲redis的實現等等,而今天在Lind.DDD的持久化組件里,redis當然也有一席之地,作為當今最紅的key/value存儲機制,它在nosql的陣營中發揮著無可代替的作用!
下麵是redis文章系列的目錄,大家可以進行參考,看目錄
Redis學習筆記~把redis放在DATA層,作為一種數據源,我認為更合理,也更符合我的面向對象原則
Redis學習筆記~是時候為Redis實現一個倉儲了,RedisRepository來了
Redis學習筆記~Redis事務機制與Lind.DDD.Repositories.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類型"); } }
讓代碼去改變我們的生活,改變我們的世界吧!