memcached配置と使用
3500 ワード
memcachedは有名な分散型メモリオブジェクトキャッシュシステムとして、高性能、無料、オープンソースの特徴があり、インターネットアプリケーションでは、ウェブダイナミックアプリケーションの応答を加速し、データベースの負荷を軽減します.
memcachedの実現メカニズムはK-Vであり、Map容器機構と類似している.
Windows環境ダウンロード:
1.memcachedのwindowsバージョン、住所はhttp://code.jellycan.com/memcached/この例はmemcached-1.2.6-win 32-bin.zipを使用します.2.memcachedサービスを開始する
memcached.exe-d installmemcached.exe-d start 3.javaクライアント:https://github.com/gwhalin/Memcached-Java-Client/downloads
java_memcached-release_2.6.6.zipはjavaの接続クライアントです. ファイルを解凍して、中のjarカバンをプロジェクトのlibディレクトリの下にコピーします.
Linux環境ダウンロード:
(1)libeventの設置
(ap-get installの:libeventは認識されていないようです)
ダウンロード http://www.monkey.org/~provos/libevent-2.02-stable.tar.gz
libeven-2.2.02-stable$configure
libeven-2.2.1.12-stable$make
libeven-2.011-stable$sudo make install
(2)memcachedの取り付け
インストールmemcached 1.4.5をダウンロードします.
http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
memcached-1.4.5米ドル/configure
memcached-1.4.5$make
memcached-1.4.5$sudo make install
起動に失敗したら、libeventが見つからなかったら、接続してください.
/usr/lib$sudo ln-s/local/lib/libeven-2.0.so.5 libeven-2.0.so.5
(3)起動
$memcached
memcachedの実現メカニズムはK-Vであり、Map容器機構と類似している.
Windows環境ダウンロード:
1.memcachedのwindowsバージョン、住所はhttp://code.jellycan.com/memcached/この例はmemcached-1.2.6-win 32-bin.zipを使用します.2.memcachedサービスを開始する
memcached.exe-d installmemcached.exe-d start 3.javaクライアント:https://github.com/gwhalin/Memcached-Java-Client/downloads
java_memcached-release_2.6.6.zipはjavaの接続クライアントです. ファイルを解凍して、中のjarカバンをプロジェクトのlibディレクトリの下にコピーします.
Linux環境ダウンロード:
(1)libeventの設置
(ap-get installの:libeventは認識されていないようです)
ダウンロード http://www.monkey.org/~provos/libevent-2.02-stable.tar.gz
libeven-2.2.02-stable$configure
libeven-2.2.1.12-stable$make
libeven-2.011-stable$sudo make install
(2)memcachedの取り付け
インストールmemcached 1.4.5をダウンロードします.
http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
memcached-1.4.5米ドル/configure
memcached-1.4.5$make
memcached-1.4.5$sudo make install
起動に失敗したら、libeventが見つからなかったら、接続してください.
/usr/lib$sudo ln-s/local/lib/libeven-2.0.so.5 libeven-2.0.so.5
(3)起動
$memcached
/**
* Description ,
* @author Administrator
* 2012-10-16
*/
class User implements Serializable{
/**
*
*/
private static final long serialVersionUID = -7969334018970422840L;
public String userName;
public String password;
}
public class MemcachedTest {
static{
//
String[] servers = {"127.0.0.1:11211", "127.0.0.2:11212"};
//
SockIOPool pool = SockIOPool.getInstance();
//
pool.setServers(servers);
// , ,
pool.setInitConn(50);
pool.setMinConn(50);
pool.setMaxConn(500);
pool.setMaxIdle(1000 * 60 * 60);
// , 3 ,
//maintSleep 30, , , 30000 。
pool.setMaintSleep(3000);
//
pool.setNagle(false);
//
pool.setSocketTO(3000);
//
pool.setSocketConnectTO(0);
//
pool.initialize();
}
public static void main(String[] args) throws IOException {
MemCachedClient c = new MemCachedClient();
// Integer
// Store a value (async) for one hour
c.set("someKey", new Integer(4), 3600);
// Retrieve a value (synchronously).
Object myObject = c.get("someKey");
Integer result = (Integer) myObject;
System.out.println(result);
//
System.out.println(" :" + System.currentTimeMillis());
User user1 = new User();
user1.userName = "ZhangSan";
user1.password = "alongpasswordhere";
c.set("user1", user1, 3600);
System.out.println(" :" + System.currentTimeMillis());
User myUser1 = (User)(c.get("user1"));
System.out.println(myUser1.userName + " " + myUser1.password);
System.out.println(" :" + System.currentTimeMillis());
}
}