1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Strato NCache非阻塞式緩存框架

        聯合創(chuàng)作 · 2023-10-01 12:30

        緩存是服務器程序中經常用到的技術,使用緩存可以大大降低服務器的壓力。目前常見的緩存工具都很好地解決了生命周期、存儲、命中率等關鍵算法,但是絕大多數的緩存框架對于數據更新都是阻塞式的,即當緩存過期時會等待應用程序重新獲取值。其性能曲線類似下圖(假設刷新一次需要5ms):

        阻塞式的緩存處理方式,每次的重新取值都會出現一次波峰,用戶在使用系統(tǒng)的過程中將產生頓挫感。

        NCache 建立了一套抽象的非阻塞式緩存模型與 API,應用 NCache 的緩存處理時效如下圖所示:

        使用 NCache 僅需在首次加載數據時停頓,此后的更新都將在后臺線程完成。

        NCache特性一覽:

        • 僅首次加載時阻塞,此后刷新都由后臺完成

        • 開發(fā)者可自定義線程池,控制線程調度及溢出機制

        • 默認提供基于 FIFO 的內存存儲,對象超出將被移除

        • 支持鏈式數據存儲,開發(fā)者可附加其他存儲方式,如 Redis、Memcached、Ehcache

           

        快速上手:

        NCache 使用非常簡單,只需將 jar 包放入classpath,然后即可調用。下面是一個簡單的示例:

        int cacheTTL=5*1000;//緩存有效期5秒鐘
                NCache<String> ncache=NCache.newInstance();//ncache可復用
                ncache.setTimeToLive(cacheTTL);
                DataLoader<String> loader=new DataLoader<String>() {//loader可復用
                    @Override
                    public String load() throws Exception {
                        int expense=new Random().nextInt(2000);//隨機模擬取數據性能消耗
                        String value="VALUE_"+expense;
                        System.err.println("Reloading:"+value);
                        Thread.sleep(expense);
                        return value;
                    }
                };
                for(int i=0;i<10000;i++){
                    String value=ncache.get("somekey", loader);
                    System.out.println("Get:"+value);
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }

        點此查看快速上手指引

        源碼:https://svn.zim-soft.com/svn/strato/tags/ncache/strato.ncache.v2_6_5  (用戶名:guest  密碼:無)

        瀏覽 15
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            护士好紧开裆蕾丝内裤 | 色六月婷婷色色 | 在线不卡视频 | 隔壁老王av | 18禁网站免费入口 | 啊,好大好爽 | 人人爱香蕉久久久 | 亚洲黄色小说在线观看 | 久久国产综合视频 | 男女日逼免费视频 |