就用查省市為例,別人還沒查就把所有都弄好,很浪費資源和時間,redis是為了存儲常用的查詢操作的[結果],以此來減少直接查詢資料庫的次數,以下內容僅供參考,請勿照抄。(如有說得不好之處,請指點。) 言歸正傳,第一個方法也就是查省市的入口,這個方法可以依照各自的需要寫成自己需要的方法如:(provin ...
就用查省市為例,別人還沒查就把所有都弄好,很浪費資源和時間,redis是為了存儲常用的查詢操作的[結果],以此來減少直接查詢資料庫的次數,以下內容僅供參考,請勿照抄。(如有說得不好之處,請指點。)
言歸正傳,
第一個方法也就是查省市的入口,這個方法可以依照各自的需要寫成自己需要的方法
如:(provinceId=Guangdong)
public list<City> GetCity(string provinceId){
//正常來說這裡是訪問資料庫得到數據返回,redis就是為了減少這種,查詢結果基本固定,查詢次數又頻繁的數據
//所以這裡我封裝了一個方法
return getForRedis <list<city>>( provinceId,()=>{
//查詢資料庫操作,具體操作因人而異我用xxx表示
list<city> citys = new list<city>();
citys = xxxxx;
return citys;
},“timeouts” )
//timeouts 這個為時間間隔字典的key,可以自己弄一個字典,也可以這裡直接填充時間,自己做相應的修改即可
}
public T getForRedis<T> (string redisKey, fun<T>(),string timesOut){
if (Rch.ContainsKey(redisKey))//檢查Redis的key是否為空,不為空直接調用
{
return Rch.Get<T>(redisKey);//獲取redis
}
else
{//如果redis的key為空了,執行委托出去的操作得到結果,寫入資料庫。
T value = func();
Rch.Add<T>(redisKey, value, timesOut);
return value;
}
}
//這就完成了,redis的基本使用,只要引用基本的ServiceStack.Redis.dll,上述操作基本直接搞定,因為是寫給新手的,大體來說是能完成的了,
//但是我留了幾個坑,如果有興趣,看得出的就提出來吧,也是給新手的你的鍛煉。