首页 > 学院 > 开发设计 > 正文

memcached安装与基本使用

2019-11-08 03:17:40
字体:
来源:转载
供稿:网友

一、Memcached和Memcache的区别:

网上关于Memcached和Memcache的区别的理解众说纷纭,我个人的理解是:

Memcached是一个内存缓存系统,而Memcache是php的一个扩展,是php用于操作和管理Memcached的工具。如果安装了Memcached但没有安装Memcache,php无法操控Memcached,但是可以使用命令行来操控Memcached;如果安装了Memcache却没安装Memcached,则无法使用。只有同时安装了Memcached和Memcache,才能在PHP中使用Memcached。

二、安装memcached: 1.由于memcached比较小,所以解压开就可以使用. 这里写图片描述 2.解压完后为了方便在命令行里进行操作,我们将其加入环境变量当中. 这里写图片描述

3.测试是否安装成功: 打开cmd,进入memcached解压后存放的目录,运行命令: memcached -h,若安装成功,会出现如下界面: 这里写图片描述

4.启动memcached: Memcached客户端与服务器端的通信比较简单,使用的基于广西的协议,而不是二进制协议.(http协议也是这样),因为此匀通过telnet即可与memcached作交互. 打开命令行 打开telnet 命令格式:telnet host 端口

telnet 127.0.0.1 11211 这里写图片描述

三、练习 1.Memcached的命令 分增删改查4类,沿着这个思路来学习. 语法:add key flag expire length key 给值起一个独特的名字 flag 标志,要求为一个正整数 expire 有效期 length 缓存的长度(字节为单位)

flag 的意义: memcached 基本文本协议,传输的东西,理解成字符串来存储. 想:让你存一个 php 对象,和一个 php 数组,怎么办? 答:序列化成字符串,往出取的时候,自然还要反序列化成 对象/数组/json 格式等等. 这时候, flag 的意义就体现出来了. 比如, 1 就是字符串, 2 反转成数组 3,反序列化对象…..

expire 的意义: 设置缓存的有效期,有 3 种格式 1:设置秒数, 从设定开始数,第 n 秒后失效. 2:时间戳, 到指定的时间戳后失效. 比如在团购网站,缓存的某团到中午 12:00 失效. add key 0 1379209999 6 3: 设为 0. 不自动失效. 注: 有种误会,设为 0,永久有效.错误的. 1:编译 memcached 时,指定一个最长常量,默认是 30 天. 所以,即使设为 0,30 天后也会失效. 2:可能等不到 30 天,就会被新数据挤出去.

 delete 删除 delete key [time seconds] 删除指定的 key. 如加可选参数 time,则指删除 key,并在删除 key 后的 time 秒内,不允许 get,add,replace 操作此 key.  replace 替换 replace key flag expire length 参数和 add 完全一样,不单独写  get 查询 get key 返回 key 的值  set 是设置和修改值 参数和 add ,replace 一样,但功能不一样. 如下比较: 用 add 时, key 不存在,才能建立此键值. 但对于已经存在的键,可以用 replace 进行替换/更改 repalce,key 存在时,才能修改此键值,如上图,date 不存在,则没改成功. 而 set 想当于有 add replace 两者的功能. set key flag expire leng 时 如果服务器无此键 —-> 增加的效果 如果服务器有此键 —-> 修改的效果. 如下图的演示,该图中,name 是已经存在,而 date 原本不存在. set 都可以成功设置他们.


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表