memcached学习笔记4--memcache扩展操作memcached
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的更多相关文章
- Memcached学习笔记 — 第四部分:Memcached Java 客户端-gwhalin(1)-介绍及使用
介绍 Memcached java client是官方推荐的最早的memcached java客户端.最新版本:java_memcached-release_2.6.1. 官方下载地址:http ...
- Memcached 学习笔记(二)——ruby调用
Memcached 学习笔记(二)——ruby调用 上一节我们讲述了怎样安装memcached及memcached常用命令.这一节我们将通过ruby来调用memcached相关操作. 第一步,安装ru ...
- memcached学习笔记——存储命令源码分析下篇
上一篇回顾:<memcached学习笔记——存储命令源码分析上篇>通过分析memcached的存储命令源码的过程,了解了memcached如何解析文本命令和mencached的内存管理机制 ...
- memcached学习笔记——存储命令源码分析上篇
原创文章,转载请标明,谢谢. 上一篇分析过memcached的连接模型,了解memcached是如何高效处理客户端连接,这一篇分析memcached源码中的process_update_command ...
- Memcached学习笔记
[TOC] 前言 此为学习笔记汇总,如有纰漏之处,还望不吝指出,谢谢. 启动流程 调用settings_init()设定初始化参数 从启动命令中读取参数来设置setting值 设定LIMIT参数 开始 ...
- memcached学习笔记6--浅谈memcached的机制 以及 memcached细节讨论
附:请浅谈memcached的机制 答: ①基于C/S架构,协议比较简单 c/s架构,此时memcached为服务器端,我们可以使用如PHP,c++/c等程序连接memcached服务器. memca ...
- memcached学习笔记2--安装及命令
学习memcached的原理: 用户一 -> 访问浏览器 -> 服务器Apache -> PHP文件(该文件应用了memcached技术) -> [第一次]到数据库DB中查找数 ...
- memcached 学习笔记 1
一 简介 1 What is Memcached? Free & open source, high-performance, distributed memory object cachin ...
- (转)memcached学习笔记1(windows 7 64bit 环境下安装memcached)
windows 7 64bit 环境下安装memcached 1.下载后解压到D:\memcached(下载地址:memcached-win64下载地址) 2.安装到windows服务,打开cmd命令 ...
- memcached 学习笔记 2
原理 1 核心组件 Memcached有两个核心组件组成:服务端(ms)和客户端(mc). 首先mc拿到ms列表,并对key做hash转化,根据hash值确定kv对所存的ms位置. 然后在一个memc ...
随机推荐
- 如何在ASP.NET 5和XUnit.NET中进行LocalDB集成测试
今天继续昨天的话题--单元测试,不过是在ASP.NET 5中的单元测试. 在当前的Visual Studio 2015 CTP6中,MSTest是不支持对ASP.NET 5项目进行单元测试的.因而,要 ...
- HDU 2819 — Swap 二分匹配
Swap Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- hadoop1.2.1的namenode格式化失败的问题
最近要开始找工作,就在原来搭建好的hadoop1.2.1的伪分布式跑跑mapreduce 很久没用,就想着格式化一下namode,结果: Format aborted in /uar/local/ha ...
- 【xml 报错】xml编译错误
---恢复内容开始--- 有时候在xml文件中,特别是于Spring相关的配置文件中,会出现一些不影响程序正常运行的编译错误,如: Referenced file contains errors (h ...
- filter()函数 条件筛选
filter()函数 filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 ...
- oracle创建临时表没有权限
执行下面: grant create any table to 用户名称
- haohantechsoft-PDA软件,PDA管理软件,PDA管理系统,仓库PDA销售开单盘点软件
为了更好服务于广大服装客户群体进行销售.盘点.调拨配送等.推出基于无线网络版移动PDA销售开单盘点软件系统.该系统支持无线3G.WIFI.GPRS系统,用户可以手持PDA在无线网络连接状态下进行销售. ...
- 万网云解析设置二级域名解析到同IP不同端口
http://jingyan.baidu.com/article/eb9f7b6d8a02a5869364e827.html
- ZOJ 3913 Bob wants to pour water ZOJ Monthly, October 2015 - H
Bob wants to pour water Time Limit: 2 Seconds Memory Limit: 65536 KB Special Judge There i ...
- BZOJ3356 : [Usaco2004 Jan]禁闭围栏
首先将坐标离散化,考虑从左往右扫描线 碰到插入操作则插入 碰到删除操作的: 当前包含i的矩形数=y1在[1,y2[i]]之间的矩形数-y2在[1,y1[i]-1]之间的矩形数 用两棵树状数组维护即可, ...