如何使用php程序操作我们的memcached服务 curd.
步骤,准备工作.
(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操作.
可以用 telnet 查看是否成功
取对象时,要注意:在前面声明要取的类。跟session一样
mem1.php
<?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>; //修改 //删除
mem2.php
立即学习“PHP免费学习笔记(深入)”;
<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>
index.php
<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>
以上就介绍了4 PHP 操作 memcached1,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号