如何使用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一样


序列化保存数据的结构和信息;而 json 保存键值对.

细节: 在我们添加数据的时候,如果
bool Memcache::add ( string $key , mixed $var [, int $flag [, int $expire ]] )
如果报 expire 设为0 表示,永不过期.(只要memcache不重新启动,就永远在mem中)
exprie 直接给的是秒数,则最大 30*3600*24
如果你希望保持时间超过30  time()+天数*3600*24 即可





mem1.php

<?php//创建一个 memcache 对象实例
$mem = new Memcache();if ($mem->connect('127.0.0.1',11211)){echo '连接成功<br/>';
}else{echo '连接失败<br/>';
}//增加
//1.增加一个字串
/*if ($mem->add('key1','shanghai',MEMCACHE_COMPRESSED,30)){echo '添加成功<br/>';
}else{echo '添加失败<br/>';
}*///2.添加数字
/*if ($mem->add('key1',100,MEMCACHE_COMPRESSED,30)){echo '添加成功<br/>';
}else{echo '添加失败<br/>';
}*///3.添加数组
// 在添加数组时,根据需要,希望序列化后在存入。 serialize
//根据需要,也可以 json_encode()
/*$arr = array('aaa','bbb','ccc');
if ($mem->add('key1',$arr,MEMCACHE_COMPRESSED,30)){echo '添加成功<br/>';
}else{echo '添加失败<br/>';
}*///4.添加对象
/*class Dog
{public $name;public $age;public function __construct($name,$age){$this->name = $name;$this->age = $age;}
}$do1 = new Dog('小米',18);
if ($mem->add('key1',$do1,MEMCACHE_COMPRESSED,30)){echo '添加对象成功<br/>';
}else{echo '添加对象失败<br/>';
}*///5.添加 null 和 布尔值
/*if ($mem->add('key1',null,MEMCACHE_COMPRESSED,30)){echo '添加null成功<br/>';
}else{echo '添加null失败<br/>';
}*/
/*if ($mem->add('key1',false,MEMCACHE_COMPRESSED,30)){echo '添加布尔值成功<br/>';
}else{echo '添加布尔值失败<br/>';
}*///6.资源类型
/*$key1 = mysql_connect('localhost','root','123456');
if(!$key1){die('连接数据库失败');
}if ($mem->add('key1',false,MEMCACHE_COMPRESSED,30)){echo '添加资源成功<br/>';
}else{echo '添加资源值失败<br/>';
}*///查询
/*$val = $mem->get('key1');
//如果是资源的话,即使保存成功,取出来也是 0,所以 memcache 不支持存放资源
var_dump($val);
echo '$val=',$val,'<br/>';*///修改/*if ($mem->replace('key1','hello',MEMCACHE_COMPRESSED,60)){echo 'replace Ok <br/>';
}else{echo 'replace no Ok <br/>';
}*///删除
/*if ($mem->delete('key1')){echo 'key1 删除<br/>';
}else{echo 'key1 不存在';
}*/if ($mem->add('key4',100,MEMCACHE_COMPRESSED,time() + 31*3600*24)){echo '添加成功<br/>';
}else{echo '添加失败<br/>';
}if ($mem->get('key4')){echo '取到数据' . $mem->get('key3') . '<br/>';
}else{echo '没取到数据';
}

mem2.php

<?php//在这个文件去 memcache 对象
$mem = new Memcache();class Dog
{public $name;public $age;public function __construct($name,$age){$this->name = $name;$this->age = $age;}
}if ($mem->connect('127.0.0.1',11211)){echo '连接成功<br/>';
}else{echo '连接失败<br/>';
}//在另外文件取对象$dog = $mem->get('key1');
var_dump($dog);

index.php

<?phpclass Dog
{public $name;public $age;public function __construct($name,$age){$this->name = $name;$this->age = $age;}
}$dog2 = new Dog('小哈',18);
//把这个对象保存到磁盘 -> serialize ,字符串可以在网上传输//传统方法
//file_put_contents('./dog.log',$dog2); //保存不了,是空的//序列化
file_put_contents('./dog.log',serialize($dog2)); //可以保存,取出时,还可以反序列化echo '保存ok<br/>';$str = file_get_contents('./dog.log');
var_dump($str);
var_dump(unserialize($str));

4. PHP 操作 memcache(1)相关推荐

  1. Java操作memcache

    [本文出自天外归云的博客园] 准备工作 Java操作memcache需要spymemcache类库的支持,在Eclipse中修改maven项目的pom.xml文件-- 添加仓库: <reposi ...

  2. php memcache 类库,php操作Memcache的一个类库的方法(代码)

    详细内容 本篇文章给大家带来的内容是关于php操作Memcache的一个类库的方法(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 代码如下:<?php /** * Cr ...

  3. PHP操作Memcache实例介绍

    b/s: 基于浏览器和服务器架构 web程序 c/s: QQ SVN client客户端+ 服务器 简单的基于文本行的协议:  redis  memcache 区别:  都是存储数据的,memcach ...

  4. php操作memcache缓存基本方法

    memcache 是一个高效的分布式的内存对象缓存系统,他可以支持把php的各种数据(数组,对象,基本数据类型)放在它管理的内存中 1.代码使用 <?php //连接 $mem = new Me ...

  5. 详解PHP操作Memcache缓存技术提高响应速度的方法

    一般来说,如果并发量不大的情况,使不使用缓存技术并没有什么影响,但如果高并发的情况,使用缓存技术就显得很重要了,可以很好的减轻数据库和服务器的压力,当然解决高并发的技术有很多,这里只是以缓存的角度来说 ...

  6. 前端学PHP之PHP操作memcache

    前面的话 和访问mysql服务器类似,PHP也是作为客户端API访问memcached服务器的,所以同样需要为PHP程序安装memcache的扩展接口,比较常用的有memcache和memcached ...

  7. Python操作Memcache

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

  8. SpringBoot 精通系列-SpringBoot如何操作Memcache

    导语   随着公司的业务速度的提高,数据持久化的问题就凸显出来,很多的场景下使用的是缓存技术来解决请求数据库的压力,这种也是缓存技术使用最多的场景之一,当然在高并发.分布式Session场景下,也会使 ...

  9. 解决java和.NET互相操作memcache差异问题

    之前有项目进行java和.NET(Memcached.ClientLibrary)交互时,通过memcache作为通道进行数据交互. 1.顺向操作(.NET插入数据,JAVA读取)时,java会获取多 ...

  10. Linux 操作memcache命令行

    telnet 127.0.0.1 11211 连接 memcache stats 查看 memcache 状态 状态说明: pid memcache服务器的进程ID uptime 服务器已经运行的秒数 ...

最新文章

  1. PAT (Advanced Level) 1014. Waiting in Line (30)
  2. python函数参数列表_python函数的列表参数传递
  3. 中国水泥电杆市场全景调研及发展战略研究报告2022-2028年版
  4. 某大学多站联动获取webshell
  5. 【随】WCF传输大数据的设置
  6. matlab 矩阵引用,MATLAB矩阵生成、引用
  7. oracle 查看远程用户,oracle sysdba用户远程登录
  8. jni数组使用(二)
  9. tcp网络示例服务器端以及代码,演示
  10. 解决word2019复制卡顿
  11. Golang | 优雅地定义枚举类型
  12. python-yaml文件使用(PyYAML)
  13. SecureCRT 命令行备注
  14. 多言统计及R语言建模按组距为300编制频数表,计算频数,频率和累积频率表,并绘制直方图
  15. 关于Red Hat Enterprise Linux Server 5 使用国内163 yum 源
  16. java计算机毕业设计计算机专业在线学习评估软件-演示录像-源码+数据库+lw文档+系统
  17. python数字1 3怎么表示_Python3数据类型之数字
  18. 网络基础(二)OSI 网络七层各层功能 --难理解
  19. J-Link-OB-STM32F072
  20. 对比度亮度调整与通道分离合并

热门文章

  1. 常用的一些类,少走弯路。待续...
  2. Atitit.js的键盘按键事件捆绑and事件调度
  3. DataSetProvider的Option属性
  4. sqldf包:让SQL语句在R语言中执行
  5. R语言中文社区2018年终文章整理(类型篇)
  6. 基于 Keras 用 LSTM 网络做时间序列预测
  7. 趣图:他居然在前端写业务逻辑!
  8. 【转】数组指针指针数组
  9. Visual Studio 开发(三):Visual Studio 使用时常见问题解决方案
  10. Java开发笔记(六十三)双冒号标记的方法引用