memcached安装与基本使用

来源:互联网 发布:js获取文本 编辑:程序博客网 时间:2024/05/21 06:57

一、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 都可以成功设置他们.

0 0
原创粉丝点击