memcache在php中就是一个操作类

具体使用:实例化对象、对象调用成员的过程。

 

php中连接memcache服务器:




php中memcache的使用,其数据模型与redis一致,为 key - value。

 

在php中给memcache设置一个key,名称为“weather”



php操作memcache_其他




php操作memcache_其他_02




key 的名字的组成部分与redis 比较相似,基本键盘可以输入的信息都可以作为key 的名字部分(意思空格,转义字符/n的也可以),key 的长度最大是 250 字节

$mem -> set(key, value, 是否压缩, 有效期 );
有效期设置有两种方式:
A. 时间差设置
从当前的 时间点 项后顺延指定秒的时间就到期( 过期)
$me -> set(key, value, 是否压缩, 120); // 向后120 秒到期
该方式有限制:最多的时间差就是 30 (2592000 )
 
B. 时间戳设置
1970-1-1 0:0:0 到现在经过的秒数
$me -> set(key, value, 是否压缩, time()+120); // 向后120 秒到期


php操作memcache_数据_03


时间差方式的有效期最大为30 天:
( 如果需要设置key 的有效期时间 大于 30 天的 ,就必须使用“ 时间戳 ”方式设置)
或直接过期

各种数据类型的存储
php 的数据类型:
标量类型:int  string  boolean  float
复合类型:array  object  resource  null
 
memcache 存储标量类型数据,把他们都转化为”String 字符串类型存储。
          存储复合类型数据,直接“原型”存储。

原型存储对资源的消耗比较大,为了节省资源,可以把复合类型信息都变为 字符串 形式进行存储,这样就需要对复合信息进行  序列化    操作: serialize()  unserialize()


php操作memcache_php_04




$me -> set(key, value, 是否压缩 0/1, 有效期 );
是否压缩的特点:
压缩:内存空间节省、运行速度稍慢
未压缩:内存空间占据少多、运行速度快
 
压缩原理是zlib 技术:zlib---->php----->memcache

> set(key, value, 是否压缩, 有效期);
   key 不存在就增加,存在就 覆盖
> delete(key);   删除key
> get(key)       获得key 的信息
> connect()      连接memcache 服务器
 
> add(key,value, 是否压缩, 有效期);   // 增加一个key memcache
   key 不存在就增加,存在就 报错
> close();     // 关闭memcache 服务器,该方法一般要放到代码的 最后 执行。
> decrement(key[,value=1]);   //i--  key 进行减1 操作
> increment(key[,value=1]);  //i++  key 进行加1 操作
> flush()    清空memcache 中全部key
> replace(key,value, 是否压缩,有效期);  替换一个key
   key 不存在就报错,存在就替换
 
总结:
1. memcache 安装和开启服务使用
开启服务:① 前台开启   设置开机启动项服务
2. php 开放memcache 扩展
复制扩展文件php_memcache.dll
php.ini 打开扩展参数
3. php 里边操作memcache
实例化对象
对象连接服务器
对象调用相关方法实现具体操作
set(key,value, 压缩,有效期
get()   delete()    connect()



终端操作memcache


连接memcache



利用协议 telnet(远程连接协议),实现对memcache的操作。



php操作memcache_数据_05


telnet提示”不是内部或外部命令”:

解决:

控制面板---》程序和功能----》打开或关闭windows功能----》telnet客户端(选中/确定)



php操作memcache_其他_06

如果“打开或关闭windows功能”提示一个空白框

解决:不要使用windows系统的dos内部的telnet协议,打开之前的SecureCRT利用telnet协议连接memcache也可以。

php操作memcache_服务器_07


php操作memcache_php_08





> set  key  是否压缩  有效期  数据长度[回车]

> 输入存储的数据

  (注意:数据长度 与 数据真实长度必须一致)

> get  key

 

> delete  key

> flush_all   //清空memcache数据



php操作memcache_其他_09

php操作memcache_其他_10


查看memcache的状态


php操作memcache_数据_11

在php中需要获得memcache的运行状态:

Memcache::getStats获取服务器统计信息