Windows 下使用 Memcached

工做中须要实现多个应用服务共用一个会话数据源,因此涉及到了用 Memcached 来缓存会话数据。Memcached的概念能够看看百度百科php

下载

须要下载服务端程序安装到电脑上,这里提供了一个 Windows 版本的下载html

安装

  1. 解压下载的安装包到磁盘目录中,并在命令行中cd切换到解压后的目录下;
  2. 运行命令将 Memcached 服务安装到系统服务中:
memcached.exe -d install
  1. 运行命令启动 Memcached 服务:
memcached.exe -d start

使用

Memcached 的使用其实就是客户端-服务器模式,因此服务端安装好以后还须要有一个客户端来链接服务端,而后才能进行存取键值对等操做。java

这里用简单的Java代码进行演示:缓存

package com.leoxu.learn.memcache;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
public class MemcachedTest {
	public static void main(String[] args) {
		//设置链接池
		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();
		//建立 Memcached 客户端示例
		MemCachedClient client = new MemCachedClient();
		for (int i = 0; i < 1000; i++) {
			//将对象加入到memcached缓存
			boolean success = client.set("" + i, "HELLO!");
			//从memcached缓存中按key值取对象
			String result = (String) client.get("" + i);
			System.out.println(String.format("set(%d):%s", i, success));
			System.out.println(String.format("get(%d):%s", i, result));
		}
	}
}
  1. 这里使用的是 Memcached Client for Java 客户端方案,我是从这里找到的参考。
  2. SockIOPool 应该就是链接池性质的东西,我参考了一下这里
  3. 查资料了解到服务的默认端口是 11211,应该是能够修改的。

我在网上还找到一个用php写的简单的 Memcached 管理页面,还不错。下载服务器

使用 telnet 链接 Memcached 服务器

能够使用 Windows 自带的 telnet 客户端程序(可能没有安装,须要先经过控制面板安装)链接,链接方式很简单,直接在命令行中输入 telnet 命令便可:memcached

telnet 127.0.0.1 11211

连接成功后便可经过相关的 Memcached 命令来进行一些操做了。命令行