<code> 如何使用php程序操作我们的memcached服务 curd.</code>
步骤,准备工作.
(1) 把 php_memcache.dll 文件拷贝 php的ext 下
? 不同版本的php 所使用的 php_memcache.dll 的版本不一样
(2) 修改php.ini文件,加载 php_memcache.dll (该文件就是封装了一堆函数)
;加载php_memcache.dll 文件
extension=php_memcache.dll
(3) 重新启动apache
(4) 我们写程序来完成curd操作. 



<code>可以用 telnet 查看是否成功</code>
取对象时,要注意:在前面声明要取的类。跟session一样 


mem1.php
<code><?php
//创建一个 memcache 对象实例
<span>$mem</span> = new Memcache();
<span>if</span> (<span>$mem</span>->connect(<span>'127.0.0.1'</span>,<span>11211</span>)){
<span>echo</span><span>'连接成功<br/>'</span>;
}<span>else</span>{
<span>echo</span><span>'连接失败<br/>'</span>;
}
//增加
//<span>1</span>.增加一个字串
/*<span>if</span> (<span>$mem</span>->add(<span>'key1'</span>,<span>'shanghai'</span>,MEMCACHE_COMPRESSED,<span>30</span>)){
<span>echo</span><span>'添加成功<br/>'</span>;
}<span>else</span>{
<span>echo</span><span>'添加失败<br/>'</span>;
}*/
//<span>2</span>.添加数字
/*<span>if</span> (<span>$mem</span>->add(<span>'key1'</span>,<span>100</span>,MEMCACHE_COMPRESSED,<span>30</span>)){
<span>echo</span><span>'添加成功<br/>'</span>;
}<span>else</span>{
<span>echo</span><span>'添加失败<br/>'</span>;
}*/
//<span>3</span>.添加数组
// 在添加数组时,根据需要,希望序列化后在存入。 serialize
//根据需要,也可以 json_encode()
/*<span>$arr</span> = array(<span>'aaa'</span>,<span>'bbb'</span>,<span>'ccc'</span>);
<span>if</span> (<span>$mem</span>->add(<span>'key1'</span>,<span>$arr</span>,MEMCACHE_COMPRESSED,<span>30</span>)){
<span>echo</span><span>'添加成功<br/>'</span>;
}<span>else</span>{
<span>echo</span><span>'添加失败<br/>'</span>;
}*/
//<span>4</span>.添加对象
/*class Dog
{
public <span>$name</span>;
public <span>$age</span>;
public function __construct(<span>$name</span>,<span>$age</span>)
{
<span>$this</span>->name = <span>$name</span>;
<span>$this</span>->age = <span>$age</span>;
}
}
<span>$do1</span> = new Dog(<span>'小米'</span>,<span>18</span>);
<span>if</span> (<span>$mem</span>->add(<span>'key1'</span>,<span>$do1</span>,MEMCACHE_COMPRESSED,<span>30</span>)){
<span>echo</span><span>'添加对象成功<br/>'</span>;
}<span>else</span>{
<span>echo</span><span>'添加对象失败<br/>'</span>;
}*/
//<span>5</span>.添加 null 和 布尔值
/*<span>if</span> (<span>$mem</span>->add(<span>'key1'</span>,null,MEMCACHE_COMPRESSED,<span>30</span>)){
<span>echo</span><span>'添加null成功<br/>'</span>;
}<span>else</span>{
<span>echo</span><span>'添加null失败<br/>'</span>;
}*/
/*<span>if</span> (<span>$mem</span>->add(<span>'key1'</span>,<span>false</span>,MEMCACHE_COMPRESSED,<span>30</span>)){
<span>echo</span><span>'添加布尔值成功<br/>'</span>;
}<span>else</span>{
<span>echo</span><span>'添加布尔值失败<br/>'</span>;
}*/
//<span>6</span>.资源类型
<span>$key1</span> = mysql_connect(<span>'localhost'</span>,<span>'root'</span>,<span>'123456'</span>);
<span>if</span>(!<span>$key1</span>){
die(<span>'连接数据库失败'</span>);
}
<span>if</span> (<span>$mem</span>->add(<span>'key1'</span>,<span>false</span>,MEMCACHE_COMPRESSED,<span>30</span>)){
<span>echo</span><span>'添加资源成功<br/>'</span>;
}<span>else</span>{
<span>echo</span><span>'添加资源值失败<br/>'</span>;
}
//查询
<span>$val</span> = <span>$mem</span>->get(<span>'key1'</span>);
//如果是资源的话,即使保存成功,取出来也是 <span>0</span>,所以 memcache 不支持存放资源
var_dump(<span>$val</span>);
<span>echo</span><span>'$val='</span>,<span>$val</span>,<span>'<br/>'</span>;
//修改
//删除
</code>mem2.php
立即学习“PHP免费学习笔记(深入)”;
<code><span><span><?php</span><span>//在这个文件去 memcache 对象</span><span>$mem</span> = <span>new</span> Memcache();
<span><span>class</span><span>Dog</span>
{</span><span>public</span><span>$name</span>;
<span>public</span><span>$age</span>;
<span>public</span><span><span>function</span><span>__construct</span><span>(<span>$name</span>,<span>$age</span>)</span>
{</span><span>$this</span>->name = <span>$name</span>;
<span>$this</span>->age = <span>$age</span>;
}
}
<span>if</span> (<span>$mem</span>->connect(<span>'127.0.0.1'</span>,<span>11211</span>)){
<span>echo</span><span>'连接成功<br/>'</span>;
}<span>else</span>{
<span>echo</span><span>'连接失败<br/>'</span>;
}
<span>//在另外文件取对象</span><span>$dog</span> = <span>$mem</span>->get(<span>'key1'</span>);
var_dump(<span>$dog</span>);</span></code>index.php
<code><span><span><?php</span><span><span>class</span><span>Dog</span>
{</span><span>public</span><span>$name</span>;
<span>public</span><span>$age</span>;
<span>public</span><span><span>function</span><span>__construct</span><span>(<span>$name</span>,<span>$age</span>)</span>
{</span><span>$this</span>->name = <span>$name</span>;
<span>$this</span>->age = <span>$age</span>;
}
}
<span>$dog2</span> = <span>new</span> Dog(<span>'小哈'</span>,<span>18</span>);
<span>//把这个对象保存到磁盘 -> serialize ,字符串可以在网上传输</span><span>//传统方法</span><span>//file_put_contents('./dog.log',$dog2); //保存不了,是空的</span><span>//序列化</span>
file_put_contents(<span>'./dog.log'</span>,serialize(<span>$dog2</span>)); <span>//可以保存,取出时,还可以反序列化</span><span>echo</span><span>'保存ok<br/>'</span>;
<span>$str</span> = file_get_contents(<span>'./dog.log'</span>);
var_dump(<span>$str</span>);
var_dump(unserialize(<span>$str</span>));</span></code>以上就介绍了4 PHP 操作 memcached1,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号