1、

安装并配置memcache扩展库

找到php.ini文件 添加:

  extendsion= php_memcache.dll

  并把对应的dll文件拷贝到ext目录

2、

使用PHP对Memcahced进行CURD操作(查看手册)

3、

编程测试

用于测试添加和获取

//实例化memcache对象
$m = new Memcache();
//连接到指定的memcached中 ,第一个参数:IP地址, 第二个参数memcached端口号
$m->connect('127.0.0.1', );
//添加数据到Mem中
/*
add('键','值','压缩与否','保存时间')
压缩与否:0表示不压缩,常量 MEMCACHE_COMPRESSED
保存时间:单位秒
其中值得类型可以是:布尔型,null,数值型(整型和浮点型),字符串型,数组类型,对象,不可以是资源类型(存放资源,会将资源当成布尔值放入Mem中,数据类型丢失,故不可以是资源型数据)
如果是数组,请使用
①序列化函数(serialize和unserialize)进行操作
②或者使用json_encode()/json_decode()函数转化为json对象
再存入mem中
*/
$user = array(
array(
'u1' => 'admin1',
'age1' => ,
'email' => 'aa@aa.com'
),
array(
'u2' => 'admin2',
'age1' => ,
'email' => 'bb@bb.com'
),
);
//因为数组,先进行序列化
/*
为什么进行序列化:

在网络传输的时候,为了保证数据的类型不丢失,先序列化再发送,
或者转化为json对象
*/
// $user = serialize($user);
$user = json_encode($user);
if (!$m->set('user', $user , MEMCACHE_COMPRESSED, )) {
echo "请注意键值唯一";
} else {
echo "加入成功";
}
echo "<hr />";
//获取刚才的key值
     //$user = unserialize($m->get('user'));
$user = json_decode($m->get('user'));
$user = object2array($user);
dump($user);

结论:在PHP所有的变量类型中,除了资源类型,其他的变量类型都可以放入memcached中

分析一个问题:mem在什么时候使用合适?

  cookie、session、memcached的作用域分别是?

  cookie 在各自的浏览器(客户端) --- 与一个浏览器关联

    所以我们运用cookie来做的事情可以是:

    ①保存这个用户曾经访问过哪些网站

    ②访问过网站中的哪些商品

  session 在服务器端(服务器和某些文件关联的(session是放在文件中的))一次会话关联(用户打开浏览器到用户关闭结束) ---私有空间

    追踪某个用户的行为

  memcached 所有的了浏览器都可以访问 --- 公共空间

    如果一个浏览器对应一个用户,那么不同的用户的操作都可以同时访问memcached

  

如果我们网站,需要多个memcached缓存系统

  $m = new Memcache();

  $m -> addServer('192.168.1.101', 11211);

  $m -> addServer('192.168.1.102', 11211);

  $m -> addServer('192.168.1.103', 11211);

  $m -> addServer('192.168.1.104', 11211);

这里使用负载均衡的算法来挑选一个memcached服务器。

  $m->add('user', $user, MEMCACHE_COMPRESSED, 60);

说明:

  当我们添加了memcached群时,我们添加数据时,不知道这个数据是存在哪台Memcached服务器上的,这个过程由addServer自动调节,自己去均衡。

memcached学习笔记4--memcache扩展操作memcached的更多相关文章

  1. Memcached学习笔记 — 第四部分:Memcached Java 客户端-gwhalin(1)-介绍及使用

     介绍 Memcached java client是官方推荐的最早的memcached java客户端.最新版本:java_memcached-release_2.6.1. 官方下载地址:http ...

  2. Memcached 学习笔记(二)——ruby调用

    Memcached 学习笔记(二)——ruby调用 上一节我们讲述了怎样安装memcached及memcached常用命令.这一节我们将通过ruby来调用memcached相关操作. 第一步,安装ru ...

  3. memcached学习笔记——存储命令源码分析下篇

    上一篇回顾:<memcached学习笔记——存储命令源码分析上篇>通过分析memcached的存储命令源码的过程,了解了memcached如何解析文本命令和mencached的内存管理机制 ...

  4. memcached学习笔记——存储命令源码分析上篇

    原创文章,转载请标明,谢谢. 上一篇分析过memcached的连接模型,了解memcached是如何高效处理客户端连接,这一篇分析memcached源码中的process_update_command ...

  5. Memcached学习笔记

    [TOC] 前言 此为学习笔记汇总,如有纰漏之处,还望不吝指出,谢谢. 启动流程 调用settings_init()设定初始化参数 从启动命令中读取参数来设置setting值 设定LIMIT参数 开始 ...

  6. memcached学习笔记6--浅谈memcached的机制 以及 memcached细节讨论

    附:请浅谈memcached的机制 答: ①基于C/S架构,协议比较简单 c/s架构,此时memcached为服务器端,我们可以使用如PHP,c++/c等程序连接memcached服务器. memca ...

  7. memcached学习笔记2--安装及命令

    学习memcached的原理: 用户一 -> 访问浏览器 -> 服务器Apache -> PHP文件(该文件应用了memcached技术) -> [第一次]到数据库DB中查找数 ...

  8. memcached 学习笔记 1

    一 简介 1 What is Memcached? Free & open source, high-performance, distributed memory object cachin ...

  9. (转)memcached学习笔记1(windows 7 64bit 环境下安装memcached)

    windows 7 64bit 环境下安装memcached 1.下载后解压到D:\memcached(下载地址:memcached-win64下载地址) 2.安装到windows服务,打开cmd命令 ...

  10. memcached 学习笔记 2

    原理 1 核心组件 Memcached有两个核心组件组成:服务端(ms)和客户端(mc). 首先mc拿到ms列表,并对key做hash转化,根据hash值确定kv对所存的ms位置. 然后在一个memc ...

随机推荐

  1. Android中JNI 的一些常用Method说明

    Android JNI和NDK关系  1.什么JNI Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互.JNI 是本地编程 ...

  2. Codeforces Round #Pi (Div. 2) A. Lineland Mail 水

    A. Lineland MailTime Limit: 2 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/567/proble ...

  3. C#学习笔记(二)——变量和表达式

    Ps:使用这两个关键字可以很方便的把头文件收起来(虽然VS已经集成这个功能= =) 但是可以一下子收起来很多个函数 一.变量 1.简单类型 (1)变量类型 (2)示例一 static void Mai ...

  4. LoadRunner中web_custom_request 和 web_submit_data的差别

  5. Apple Watch开发快速入门教程

     Apple Watch开发快速入门教程  试读下载地址:http://pan.baidu.com/s/1eQ8JdR0 介绍:苹果为Watch提供全新的开发框架WatchKit.本教程是国内第一本A ...

  6. DFS HDOJ 2614 Beat

    题目传送门 /* 题意:处理完i问题后去处理j问题,要满足a[i][j] <= a[j][k],问最多能有多少问题可以解决 DFS简单题:以每次处理的问题作为过程(即行数),最多能解决n个问题, ...

  7. Week,Month, Year 日期区间辅助类

    我们在做一些业务系统的时候,经常会用到一些获取时间段的情况.比如要统计某一周.某月.某年 这样一些时间区间内的一些业务数据.这时候我们就需要获取当前时间段内的一些起止日期.这里分享一个通用的日期辅助类 ...

  8. Java unicode中文编码转换和反转

    参考网址http://www.oschina.net/code/snippet_142385_4297 http://canofy.iteye.com/blog/718659 在java的很多配置文件 ...

  9. MongoDB的安装与CRUD(JAVA)

    http://blogread.cn/it/article/4348?f=wb (MongoDB) 安装: 1)下载MongoDB数据库(这里使用Windows 32 bit版) http://dow ...

  10. 【POJ】1279 Art Gallery

    http://poj.org/problem?id=1279 题意:给一个n个点的多边形,n<=1500,求在多边形内能看到所有多边形上的点的面积. #include <cstdio> ...