Java中使用memcache緩存

1、簡要概述:

memcache集羣環境下緩存解決方案,是一個高性能的分佈式的內存對象緩存系統,經過在內存庫裏維護一個統一的巨大的hash表,存儲各類數據,包括圖像、視頻、文件以及數據庫檢索結果等。
簡單的說就是講數據調用到存儲中,後從內存中讀取,從而大大提升讀取速度。memcache是這個項目的名稱,而memcached是它的服務端的主程序文件名。數據庫

2、經常使用方法:

一、初始化memcache緩存

//初始化memcache
    public static void initMemcache(){
        String[] servers = {"127.0.0.1:11211"};
        SockIOPool pool = SockIOPool.getInstance();
        pool.setServers(servers);
        pool.setFailover(true);
        pool.setInitConn(10);
        pool.setMinConn(5);
        pool.setMaxConn(250);
        pool.setMaintSleep(30);
        pool.setNagle(false);
        pool.setSocketTO(3000);
        pool.setAliveCheck(true);
        pool.initialize();
    }

二、建立緩存markdown

/**
     * 建立緩存
     * @param key   鍵
     * @param value 值
     */
    public static void createMemcache(String key, Object value){
        //建立client對象
        MemCachedClient mclent = new MemCachedClient();
        //建立緩存
        mclent.set(key, value);
    }

三、刪除指定緩存分佈式

/**
     * 刪除指定緩存
     * @param key     鍵
     */
    public static void deleteMemcache(String key){
        MemCachedClient mclent = new MemCachedClient();
        mclent.delete(key);
    }

四、獲取緩存ide

/**
     * 獲取緩存
     * @param key    鍵
     * @return       值
     */
    public static Object getMemcache(String key){
        MemCachedClient mclent = new MemCachedClient();
        Object value = mclent.get(key);
        return value;
    }

五、獲取多個緩存memcached

/**
     * 獲取多個緩存對象
     * @param keys
     * @return 
     */
    public static Map<String, Object> getManyMemcache(String[] keys){
        MemCachedClient mclent = new MemCachedClient();
        Map<String, Object> m = mclent.getMulti(keys);
        return m;
    }

六、清空指定類型的緩存性能

/**
     * 清除指定類型的緩存
     * @param str
     * @return
     */
    public static boolean flashLMemcache(String[] str){
        MemCachedClient mclent = new MemCachedClient();
        mclent.flushAll(str);
        return true;
    }

七、清空全部緩存測試

/**
     *清空緩存
     * @return
     */
    public static boolean flashMemcache(){
        MemCachedClient mclent = new MemCachedClient();
        mclent.flushAll();
        return true;
    }

3、演示與測試:

/**
     * memcache,存儲調用測試
     */
    AbMemcache.initMemcache();
    AbMemcache.createMemcache("redant", "今天20181106");
    Object obj = AbMemcache.getMemcache("redant");
    System.err.println(obj);

演示結果:code

/**視頻

  • memcache,刪除指定緩存
    */
    AbMemcache.deleteMemcache("redant");
    System.err.println(AbMemcache.getMemcache("redant"));
    /**
  • 清空所有緩存
    */
    AbMemcache.flashMemcache();
    System.err.println(AbMemcache.getMemcache("redant"));

演示結果:

Java中使用memcache緩存

相關文章
相關標籤/搜索