小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Memcached 入門

 Tom.Lin 2012-07-10

Java_memcached-release

一、了解和使用使用安裝memcached

在這一塊已經(jīng)有車了,就不再造了。

一個日本君寫的: 長野雅廣 memcached- 全面剖析.pdf

heiyeluren( 黑夜路人)   Memcached- 原理和使用詳解.pdf

下面截圖:

 


 

 


 



 


 

 

二、java memcached 客啟端的調(diào)用

    2.1 下載客戶端jarjava_memcached-release_X.x.jar

       https://github.com/gwhalin/Memcached-Java-Client 可下載最新

三、簡單Demo

    建工程、拷jar 包、再拷下面代碼。

 

package com.ea.online.memcache;

import java.util.Date;

import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;

public class SimpleMemCachedClient {

    protected static MemCachedClient mcc = new MemCachedClient();
    protected static SockIOPool sUpool = null;
    static {
        String[] servers = { "localhost:11211" };
        Integer[] weights = { 3, 3, 2 };

        sUpool = SockIOPool.getInstance();
        sUpool.setServers(servers);
        sUpool.setWeights(weights);
        sUpool.setMaintSleep(30);
        sUpool.setNagle(false);
        sUpool.setSocketTO(3000);
        sUpool.setSocketConnectTO(0);
        sUpool.initialize();
    }

    public static void main(String[] args) {
        mcc.set("testKey", "This is a test String",
                new Date(new Date().getTime() + 10000));// 過期時間為10秒
        String bar = mcc.get("testKey").toString();

        System.out.println("testKey-->" + bar);
        while (true) {
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(mcc.get("testKey"));
        }
    }
}

 

Demo 成功后就講 下面兩個類的一些設(shè)置參數(shù):SockIOPool MemCachedClient

四、SockIOPool socket 連接池類

   

setServers(String[] servers) :設(shè)置服務(wù)器信息數(shù)組;

setWeights(String[] weights) :設(shè)置服務(wù)器權(quán)重數(shù)組;

setInitConn(int count) :設(shè)置初始連接數(shù);

setMinConn(int minConn) :設(shè)置最小連接數(shù);

setMaxConn(int maxConn) :設(shè)置最大連接數(shù);

setMaxIdle(long arg0) :設(shè)置最大處理時間;

setMaintSleep(long arg0) :主線程的睡眠時間;

initialize() :初始化連接池。

 

五、MemCachedClient 類及其常用方法

   

add(String key, Object value) :添加一個鍵值對到緩存中;

add(String key, Object value,Date expires) :添加一個鍵值對到緩存中,并設(shè)置其超時時間;

set(String key, Object value) :在緩存中設(shè)置一個鍵的值;

set(String key, Object value, Date expires) :在緩存中設(shè)置一個鍵的值,并設(shè)置其超時時間;

get(String key) :獲得某個鍵的值。

incr(String key) :為某個鍵上的值執(zhí)行+1 操作;

decr(String key) :為某個鍵上的值執(zhí)行-1 操作;

replace(String key, String value) :將某個鍵的值替換成新的值;

replace(String key, String value, Date expires) :將某個鍵的值替換成新的值,并設(shè)置其超時時間。

 

六、Memcached 優(yōu)化

    可以參考: hyj_dx   http://hyj-dx./blog/305161

 

 

 

1、客戶端在與 memcached 服務(wù)建立連接之后,進行存取對象的操作,每個被存取的對象都有一個唯一的標(biāo)識符 key,存取操作均通過這個 key 進行,保存到 memcached 中的對象實際上是放置內(nèi)存中的,并不是保存在 cache 文件中的,這也是為什么 memcached 能夠如此高效快速的原因。注意,這些對象并不是持久的,服務(wù)停止之后,里邊的數(shù)據(jù)就會丟失。

2、當(dāng)存入cached的數(shù)據(jù)超過了cached的容量后會將最長時間沒調(diào)用的對象擠出,這正好應(yīng)征了cached的特征。

3、利用memcached常用的做法:在每取得一次cached對象后,重新設(shè)置這個對象的cache時間,這樣能夠使得經(jīng)常被調(diào)用的對象可以長期滯留在緩存中,使得效率增倍。

 

memcached 技術(shù)配置參數(shù)研究

failover表示對于服務(wù)器出現(xiàn)問題時的自動修復(fù)。
initConn初始的時候連接數(shù),
minConn表示最小閑置連接數(shù),
maxConn最大連接數(shù),
maintSleep表示是否需要延時結(jié)束
nagle是TCP對于socket創(chuàng)建的算法,
socketTO是socket連接超時時間,
aliveCheck表示心跳檢查,確定服務(wù)器的狀態(tài)。
Servers是memcached服務(wù)端開的地址和ip列表字符串,
weights是上面服務(wù)器的權(quán)重,必須數(shù)量一致,否則權(quán)重?zé)o效
可從以下幾方面考慮優(yōu)化
1. 重新設(shè)置配置參數(shù)。
2. 盡量使用小容量的數(shù)據(jù)內(nèi)容.
3. 增加memcached提高服務(wù)獲取的內(nèi)存總量、提高命中率。
4. 可以采用多個memcache服務(wù)進行偵聽,分開處理,針對服務(wù)提供的頻繁度劃分服務(wù)內(nèi)存
5. 根據(jù)服務(wù)器的性能不同設(shè)置權(quán)重 weights
6. 對需要使用memcache服務(wù)的機器ip,服務(wù)端做訪問限制。
避免memcached里的數(shù)據(jù)不會被別有心意的人再利用,或責(zé)保證服務(wù)器的內(nèi)存不被漫天遍地的垃圾數(shù)據(jù)所堆積,造成命中極低
7. 優(yōu)化memcached客戶端的代碼。

 

、、、、、、、、、、

 


七、小技巧

  h 顯示幫助

-p 監(jiān)聽的端口

-l 連接的IP地址, 默認是本機

-d start 啟動memcached服務(wù)

-d restart 重起memcached服務(wù)

-d stop|shutdown 關(guān)閉正在運行的memcached服務(wù)

-d install 安裝memcached服務(wù)

-d uninstall 卸載memcached服務(wù)

-u 以的身份運行 (僅在以root運行的時候有效)

-m 最大內(nèi)存使用,單位MB。默認為64MB

-M 內(nèi)存耗盡時返回錯誤,而不是刪除項

-c 最大同時連接數(shù),默認為1024

-f 塊大小增長因子,默認為1.25

-n 最小分配空間,key+value+flags默認為48

 

 

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多