PHP的Memcached简单实现

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。也可动态缓存一些实时数据。

memcached服务器安全的问题,其本身是没有安全认证的,所以数据安全方面可以考虑只进行内网访问、监听IP、修改默认端口等方法。

笔者使用win10环境简单演示和使用。

安装:

http://downloads.northscale.com/memcached-win64-1.4.4-14.zip

默认端口为:11211

以管理员身份运行cmd:

PHP的Memcached简单实现

安装:压缩包解压后保存路径\memcached.exe -d install

卸载:压缩包解压后保存路径\memcached.exe -d uninstall

启动服务:压缩包解压后保存路径\memcached.exe -d start

停止服务:压缩包解压后保存路径\memcached.exe -d stop

查看帮助:压缩包解压后保存路径\memcached.exe -h

命令行基本测试:

连接服务器:telnet localhost 11211

//不可输入中文

查看状态:stats

添加数据:add dong 33 0 10 //dong为键,33为随意标记,0为永久保存,其他为x秒,10为10个字节

替换数据:set

获取数据:get dong   //dong 为键

删除数据:delete dong //dong为键

删除所有:flush_all

错误信息:

ERROR:普通错误信息,如指令错误

CLIENT_ERROR : 客户端错误

SERVER_ERROR : 服务器错误

PHP基本操作:

打开扩展:

PHP的Memcached简单实现

如果thinkPHP需要使用,则新建对象时需要:

//创建连接对象
$men=new \Memcache;

代码基本操作

 //创建连接对象
$men=new Memcache;
//连接服务器
$men->connect("localhost","11211"); //添加
//返回bool
// MEMCACHE_COMPRESSED 压缩保存
//0为永久,其他值为秒,不能超过30天的秒数,如果要超过30天则需要用当前时间戳(time())+xxx秒
$men->add("dxd","dongxiaodong",MEMCACHE_COMPRESSED,0);
//添加数组数据
$men->add("arr",array("11","222","yyy"),MEMCACHE_COMPRESSED,0);
//修改
//返回bool
$men->set("dd",iconv("utf-8","gbk","东小东"),MEMCACHE_COMPRESSED,0);
//取值
echo $men->get("dxd");
//多个值一起取
print_r($men->get(array("dxd","dd")));
//获取存入的数组
print_r($men->get("arr"));
//删除某个,0为立即删除,其它为等待xx秒删除
$men->delete("arr",3);
//清空所有
$men->flush(); //关闭连接
$men->close();

分布式简单实现:

 //创建连接对象
$men=new Memcache; //连接服务器
//多服务器,数据存取与普通一样
$men->addserver("localhost",11211);
$men->addserver("192.168.4.30",11211);
上一篇:JS获得事件发出者


下一篇:Python 基于Python结合pykafka实现kafka生产及消费速率&主题分区偏移实时监控