文档章节

Memcached

素人派
 素人派
发布于 2016/12/31 20:46
字数 633
阅读 7
收藏 0
  • 介绍
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。 它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。 Memcached使用简单的文本协议来通信,这样的话对于客户端的语言没什么特殊的要求。可以使用PHP、Python、Java等语言来连接,甚至可以直接使用telnet连接。
  • 安装
apt-get install memcached 安装完成后可以看到下面的进程 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1
  • 配置
/etc/memcached.conf 默认配置可能只是监听本地请求,如果想从其他服务器中访问的话需要修改监听地址。
  • 启动服务
service memcached start
  • telnet客户端
连接的命令格式为:telnet ip port,例如: telnet localhost 11211 存储命令格式:<cmd> <key> <flags> <exptime> <bytes> <cmd>可以是set、add或者replace,<key>索引,<flags>是整型参数(客户端使用这个保存键值对以外的信息),<exptime>为该数据的存活时间(以秒为单位,0表示永远),<bytes>为数据的字节数。 读取数据命令格式:<cmd> <key> <cmd>可以是get,<key>为索引。 删除数据命令格式:<cmd> <key> <cmd>可以是delete,<key>为索引。 例如: Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. set suren 0 0 5 suren STORED get suren VALUE suren 0 5 suren END delete suren DELETED get suren END
  • Python客户端
安装第三方库:easy_install python-memcached 下面是使用示例: Python 2.7.6 (default, Mar 22 2014, 22:59:56) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import memcache >>> memcache = memcache.Client(['localhost:11211']) >>> print memcache <memcache.Client object at 0x7fe6865cc6d0> >>> print memcache.set('suren', 'http://surenpi.com') True >>> value = memcache.get('suren'); >>> print value http://surenpi.com >>>
  • Java客户端
下载地址: https://github.com/gwhalin/Memcached-Java-Client/downloads 需要的jar文件包括:java_memcached-release_2.6.6.jar、commons-pool-1.5.6.jar、slf4j-simple-1.6.1.jar、slf4j-api-1.6.1.jar。 下面是示例代码: [codesyntax lang="java"]
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;


/**
 * @author suren
 * @date 2015-4-8
 * memcache客户端测试类
 * http://surenpi.com
 */
public class MemcacheTest
{

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		String[] servers = {"surenpi.com:11211"};
		SockIOPool pool = SockIOPool.getInstance();
		pool.setServers(servers);
		pool.setFailover(true);
		pool.setInitConn(10);
		pool.setMinConn(1);
		pool.setMaxConn(20);
		pool.setNagle(false);
		pool.setSocketTO(3000);
		pool.setAliveCheck(true);
		pool.initialize();

		MemCachedClient memClient = new MemCachedClient();
		for(int i = 0; i < 5; i++)
		{
			System.out.println(memClient.set(String.valueOf(i), i));

			System.out.println(memClient.get(String.valueOf(i)));
		}
	}

}
[/codesyntax]
  • 参考
http://baike.baidu.com/link?url=nKa046NJjO_CVOE3dAGw6SLq01GAb9BlsFjah1nu06ZjYYd4vew4T_JjtB-sdTltI0_xiUfgjeqQArMMVxYXF_ Python如何在线安装第三方库?请看这里。

本文转载自:http://surenpi.com/2015/04/08/memcached/

上一篇: Vim文本替换
下一篇: XPath
素人派
粉丝 26
博文 1907
码字总数 10223
作品 6
东城
程序员
私信 提问

暂无文章

Class 文件结构

https://www.cnblogs.com/honghuzidelaoren/p/3622021.html

Java搬砖工程师
10分钟前
0
0
未分类资料

$ Inside the Linux Kernel 与知乎出产 一张漫画看懂Linux系统结构

十万猛虎下画山
11分钟前
0
0
Android人脸识别Demo竖屏YUV方向调整和图片保存

本博客包含三个常用方法,用于盛开Android版人脸识别Demo中竖屏使用时送入yuv数据,但一直无法识别的情况。 1.首先可以尝试顺时针旋转90°或270°,然后送入识别SDK。 2.旋转方向后依然无法识...

是哇兴哥棒棒哒
14分钟前
0
0
选择阿里云数据库HBase版十大理由

根据Gartner的预计,全球非关系型数据库(NoSQL)在2020~2022预计保持在30%左右高速增长,远高于数据库整体市场。 阿里云数据库HBase版也是踏着技术发展的节奏,伴随着NoSQL和大数据技术的兴...

阿里云云栖社区
26分钟前
0
0
平滑与滤波

五种常见的平滑滤波器: (1)方框型滤波器: 顾名思义,方框型滤波器就是用一个方框型的kernel跟二维图像进行卷积,其核定义如下: kernel= 其中, a = 1 当该滤波器非归一化滤波器 (1) a=...

yepanl
32分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部