java開發:分享一下MemCached的使用

在項目開發中,有些不常常修改的數據,咱們一般都會選擇使用緩存。其中一種方式,就是memcached.windows

windows系統中,咱們須要下載並安裝memcached。緩存

地址如:D:\memcached\memcached.exe服務器

而後,用管理員身份運行cmd.exe,輸入啓動命令:memcached

 

這樣,咱們在項目中就能夠建立緩存實例了:spa

public class MemcachedManager {

    // 建立MemCachedClient全局對象
    private static MemCachedClient mcc = new MemCachedClient();

    static {
        // 建立服務器列表及其權重
        String[] servers = { "127.0.0.1:11211" };
        Integer[] weights = { 3 };

        // 建立Socket鏈接池對象
        SockIOPool pool = SockIOPool.getInstance();

        // 設置服務器信息
        pool.setServers(servers);
        pool.setWeights(weights);
        pool.setFailover(true);

        // 設置初始鏈接數、最小和最大鏈接數以及最大處理時間
        pool.setInitConn(5);
        pool.setMinConn(5);
        pool.setMaxConn(250);
        pool.setMaxIdle(1000 * 60 * 60 * 6);

        // 設置主線程睡眠時間
        pool.setMaintSleep(30);

        // 設置TCP參數、鏈接超時等
        pool.setNagle(false);
        pool.setSocketTO(3000);
        pool.setSocketConnectTO(0);
        pool.setAliveCheck(true);

        // 初始化鏈接池
        pool.initialize();

    }

    /**
     * 無參構造
     */
    protected MemcachedManager() {

    }

    // 受保護的對象
    protected static MemcachedManager instance = new MemcachedManager();

    /**
     * 爲受保護的對象提供一個公共的訪問方法
     */
    public static MemcachedManager getInstance() {
        return instance;
    }

    /**
     * 添加對象到緩存中,構成方法重載
     * 
     * @param key
     * @param value
     * @return
     */
    public boolean add(String key, Object value) {
        return mcc.add(key, value);
    }

    public boolean add(String key, Object value, Date expiry) {
        return mcc.add(key, value, expiry);
    }

    public boolean replace(String key, Object value) {
        return mcc.replace(key, value);
    }

    public boolean replace(String key, Object value, Date expiry) {
        return mcc.replace(key, value, expiry);
    }

    /**
     * 根據指定的關鍵字獲取對象
     */
    public Object get(String key) {
        return mcc.get(key);
    }
    
    public static void main(String[] args) {
        // 獲得MemcachedManager實例
         MemcachedManager cache = MemcachedManager.getInstance();
         //建立test緩存
         cache.add("test", "hello");
         //取出test緩存
         System.out.println(cache.get("test"));
         //修改test緩存
         cache.replace("test", "hello123");
         //取出test緩存
         System.out.println(cache.get("test"));
    }
   
}

運行這個例子後,打印出的結果以下:線程

hello
hello123code

相關文章
相關標籤/搜索