分享自己寫的一個.net方法緩存源碼


在服務器性能優化中,我們更多的是要考慮到緩存的使用,分享一個自己編寫的方法緩存的框架,使用非常方便。話不多說,先上使用例子:

1.定義要使用緩存的類及方法:

 

 public class Example
    {

        [CacheMethod(ExpirationSecond = 60*10)]
        public virtual int Fun2(int a, int b)
        {
            return a + b;
        }

    }

說明:

  1.被緩存的方法必須使用虛方法

  2.特性:CacheMethod.ExpirationSecond         指定緩存的相對失效時間(單位秒)    如果不指定該特性,緩存相對失效時間默認為60秒

2.創建緩存代理對象

Example example=MethodCacheFactory.GetMethodCacheProxyObject<Example>();

3.調用緩存方法

var ret=example.Fun2(1, 1);//第一次調用會將返回值放入緩存中
ret = example.Fun2(1, 1);//第二次調用,如果緩存沒有失效的話,會去緩存中拿到返回值,不會執行對應方法,如果緩存已經失效,那么則會執行原方法。

 

擴展:

  代碼中使用的是內存緩存,如果想使用分布式緩存如redis,請實現接口

 

並通過相關代碼替換默認緩存容器:

ICacheContainer cacheContainer = null;//請實例化對應容器
MethodCacheFactory.SetCacheContainer(cacheContainer);//替換緩存默認容器

完整項目及源碼:

https://gitee.com/qianqianhr/dotnet_method_cache.git


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM