memcached是一种被广泛应用的缓存技术,同时还支持分布式,现在在php开发用的也很多,java的话一般用oscache,Ehcache之类的。memcached一般是作为服务安装的现在这个memcached的windows版本很难找到下载的地方了,为了方便后面我会把软件上传到资源。

1.安装mecached服务

先把exe文件放到一个不带中文路径的文件夹里,接下来打开命令行窗口,进入到放有exe文件的目录

安装命令:memcached.exe -d  install

启动命令:memcached.exe -d  start

停止命令:memcached.exe -d  stop

如下图所示:

下面是命令行

上面的做法在xp系统完全没有问题,但是如果是win7就要注意了,打开命令行必须使用管理员身份

2.操作memcache

该服务可以使用telnet来操作,还能通过java,php,c#等客户端来操作,这里介绍的是使用php扩展库来操作memcached

(1)下载php的memcached扩展库php_memcache.dll,名称可能不一样,之后放到php环境的ext文件夹里,需要注意点是版本要对应

(2)在php.ini文件里加这么一句

extension=php_memcache.dll

之后启动或重启apache,为了保险起见应该先用phpinfo()看看扩展是否已经启用了

(3)php连接memcached服务并缓存数据

<?phprequire_once 'User.php';//创建memcache对象$mem=new Memcache();//连接memcached,11211是端口号if(!$mem->connect("127.0.0.1",11211)){die("连接mem失败");}//把字符串放入缓存$mem->set("testdata1", "上海市浦东新区川沙新镇",MEMCACHE_COMPRESSED,120);//把对象存入缓存$u=new User("张学友", "123456");$mem->set("userInfo", $u,MEMCACHE_COMPRESSED,120);//把boolean值放入缓存$mem->set("bool", true,MEMCACHE_COMPRESSED,120);//把数值类型放入缓存$mem->set("num", 1.2,MEMCACHE_COMPRESSED,120);//把关联数组放入缓存$mem->set("arr", array(array("city"=>"上海市","area1"=>"浦东新区","area2"=>"徐汇区"),array("city"=>"昆明市","area1"=>"盘龙区","area2"=>"五华区")),MEMCACHE_COMPRESSED,120);
?>

MEMCACHE_COMPRESSED表示启用压缩缓存,写成0表示不压缩,我们可以看到memcache能缓存不同的数据类型,但是资源类型不能被缓存,顺便把User这个php也贴出来

<?php
class User {public $username;public $password;public function __construct($username,$password){$this->username=$username;$this->password=$password;}/*** @return the $username*/public function getUsername() {return $this->username;}/*** @return the $password*/public function getPassword() {return $this->password;}/*** @param field_type $username*/public function setUsername($username) {$this->username = $username;}/*** @param field_type $password*/public function setPassword($password) {$this->password = $password;}}?>

尤其需要注意的set里面的最后一个参数,这个参数表示数据什么时候过期,类型为数值单位是秒但是秒数不能超过30天也就是30*3600*24,如果数据缓存时间超过30天

应该写成time()+秒数

(4)获取缓存数据

<?phprequire_once 'User.php';//创建memcache对象$mem=new Memcache();//连接memcachedif(!$mem->connect("127.0.0.1",11211)){die("连接mem失败");}//从缓存中取出数据$data=$mem->get("testdata1");echo $data."<br/>";$user=$mem->get("userInfo");echo $user->getUsername();echo "<br/>=======取得布尔值=======<br/>";$bool=$mem->get("bool");echo $bool;echo "<br/>=======取得数字=======<br/>";$num=$mem->get("num");echo $num;echo "<br/>=======取得二维数组=======<br/>";$arr=$mem->get("arr");foreach ($arr as $key=>$val){foreach ($val as $key2=>$val2){echo "$key2:$val2<br/>";}}?>

这里唯一特殊点的就是获取对象的情况,这里要先把User对象引入进来才可以

(5)修改缓存数据

这里有2个方法,一个是set,一个是replace,使用replace如果缓存里没有对应的key值那么就会报错,如果使用set缓存里有就修改没有就创建

<?php
$mem=new Memcache();
//连接memcached
if(!$mem->connect("127.0.0.1",11211)){die("连接mem失败");
}
$mem->replace("testdata1", "上海市徐汇区");
?>

(6)删除缓存数据

如果删除单个直接使用delete就行,删除全部就使用flush

<?php
$mem=new Memcache();
//连接memcached
if(!$mem->connect("127.0.0.1",11211)){die("连接mem失败");
}
//删除单个数据
//$mem->delete("testdata1");
//删除mem里的全部数据
$mem->flush();
?>

是不是都特别简单呢

memcached的安装和基本操作相关推荐

  1. Centos7中Memcached的安装与基本操作

    Centos7中Memcached的安装与基本操作 0.软件版本 1.下载memcached的依赖库libevent 1.1下载安装包 1.2使用xshell中的xftp上传至虚拟机中的/home/r ...

  2. python numpy库安装-Python Numpy库安装与基本操作示例

    本文实例讲述了Python Numpy库安装与基本操作.分享给大家供大家参考,具体如下: 概述 NumPy(Numeric Python)扩展包提供了数组功能,以及对数据进行快速处理的函数. NumP ...

  3. Windows下Memcached的安装与配置

    Windows下Memcached的安装与配置 安装: 1.下载memcached, http://www.danga.com/memcached/ ; 2.解压,比如放在 D:\memcached- ...

  4. windows 安装 php memcached,Windows安装配置php+memcached的方法

    Windows下Memcached的安装配置方法 1.将第一个包解压放某个盘下面,比如在c:\memcached. 2.在终端(也即cmd命令界面)下输入 'c:\memcached\memcache ...

  5. 安装telnet_Flask干货:Memcached缓存系统——Memcached的安装

    图 | 源网络文 | 5号程序员 Memcached缓存系统是目前使用最广泛的高性能分布式内存缓存系统,是一个自由开源的高性能分布式内存对象缓存系统. 国内外众多大型互联网应用都选择Memcached ...

  6. 分子结构模拟工具UCSF Chimera的安装及基本操作

    UCSF Chimera是一个用于分子结构和相关数据的交互式可视化和分析工具.主要包括:密度图,超分子组合,顺序排列,对接结果,轨迹和构象整合.也可以生成高质量图像和动画. 软件下载 UCSF Chi ...

  7. Memcached的安装与使用

    这一段折腾了下Memcached,有所收获吧,记录一下. 1.什么是Memcached memcached是一种缓存技术, 他可以把你的数据放入内存,从而通过内存访问提速,因为内存最快的, memca ...

  8. mac连接局域网mysql_MySQL for Mac 安装和基本操作

    MySQL for Mac 安装和基本操作 一.安装mysql 1.mysql下载地址http://dev.mysql.com/downloads/mysql/我的机器是mac 10.8的;所以使用m ...

  9. centos7下memcached的安装配置

    memcached 依赖 libevent-devel 首先安装libevent-devel yum -y install libevent-devel 安装完毕! 继续安装memcached yum ...

最新文章

  1. spring集成mongodb通过aop记录业务日志
  2. php -- 检查是否存在
  3. smokeping部署安装
  4. java中异常+连接重置_是什么导致我的java.nett.ocketException:连接重置?
  5. 不同电脑 命名管道_电脑键盘上的F1到F12,这些键都有哪些用处?用了5年总算明白了...
  6. 硅谷的高科技公司与“抵消战略”
  7. 【华为云技术分享】【测试微课堂】DevOps敏捷测试之道
  8. 软件测试面试技巧|项目常识篇
  9. BCG、MFC如何支持《支持应用程序设置的回复、保存等》的?他是怎么实现的呢?
  10. Visual Studio 打开程序提示仅我的代码怎么办
  11. 字符串函数rpartition与partition
  12. AIM Tech Round 5 (rated, Div. 1 + Div. 2)
  13. 简单介绍几种Java后台开发常用框架组合
  14. Windows下sqlmap安装方法
  15. 发动机冒黑烟_发动机冒黑烟是什么原因 发动机冒黑烟怎么解决
  16. “去哪儿”创始人兼总裁庄辰超专访实录
  17. python 炒股公式_计算股票公式
  18. 嵌入式产品软件(固件)开发需要考虑的2个方面
  19. 腾讯云拟年内在全球增设超30%数据中心;Zepp Health首季成人智能手表出货量居全球前四 | 全球TMT...
  20. 惠普计算机电脑底盖怎么打开,惠普笔记本后盖怎么拆

热门文章

  1. 计算机网络技术课程建设,“计算机网络技术”课程建设与教学改革研究
  2. c++ 枚举系统字体
  3. Backdoor.Win32.Rbot病毒防治
  4. 伯克利大学sawyer机器人环境配置
  5. Django开发学习之Ajax(二)
  6. Java字符串相关操作(一)
  7. 如何实现动易官方网站内容页的移动菜单效果?
  8. The Legend of 1900
  9. day1学习vue2笔记 vue指令
  10. 计算机制造技术飞速发展 使用计算机,机械设计制造及其自动化中计算机技术的应用分析...