1环境准备

安装Memcached服务端:

yum -y installmemcached.x86_64

安装PHP-Memcache扩展:

yum -y installphp-pecl-memcache.x86_64

查看PHP-Memcache扩展是否安装成功:

php -m | grepmemcache

2启动Memcached服务

分别在11211和11212端口启动主从两个Memcached服务:

memcached -d -p 11211 -u memcached -m 64 -c1024 -P /var/run/memcached/memcached.pid

memcached -d -p 11212 -u memcached -m 64 -c1024 -P /var/run/memcached/memcached2.pid

具体参数含义如下:

-d选项是启动一个守护进程;

-m是分配给Memcache使用的内存数量;单位是MB;

-u是运行Memcache的用户,或者是root,

-l是监听的服务器IP地址;

-p是设置Memcache监听的端口;

-c选项是最大运行的并发连接数,默认是1024;

-P是设置保存Memcache的pid文件;保存在 /tmp/memcached.pid

通过Telnet客户端访问:

telnet 127.0.0.111211

telnet 127.0.0.111212

注:如果没有安装Telnet则先执行:

yum -y installtelnet.x86_64

也可以通过一个PHP文件测试PHP-Memcache扩展和Memcached服务是否连通:

memcache.php

===============================================================================

<?php

$memcache = new Memcache();

$memcache->connect('127.0.0.1', 11211);

$memcache->set('key', 'Memcache test successful!', 0, 60);

$result = $memcache->get('key');

unset($memcache);

echo $result;

?>

3配置Yii应用组件

Yii对Memcached提供直接支持,只需简单配置,就可以启用Memcached服务端作为Session服务器。

1.helloyii/protected/config/main.php

===============================================================================

array(

'components'=>array(

'cache'=>array(

'class'=>'CMemCache',

'servers'=>array(

array(

'host'=>'127.0.0.1',

'port'=>11211,

),

array(

'host'=>'127.0.0.1',

'port'=>11212,

),

),

),

'session' => array (

'class'=> 'CCacheHttpSession',

'cookieMode' => 'only',

'timeout' => 1200

),

),

)

2.helloyii/protected/controllers/CacheController.php

===============================================================================

class CacheController extends CController

{

public functionactionFetch($key, $value)

{

Yii::app()->session[$key]= $value;

echo'session:['.Yii::app()->session[$key].']';

Yii::app()->cache->set($key,$value);

$data =Yii::app()->cache->get($key);

Yii::app()->getController()->render('result',array('data'=>$data));

}

}

这个例子分别将键值对保存到session和缓存中。

4 Memcached客户端操作

(TODO)

如何对memcache的数据(key-value)进行遍历操作

http://www.cnblogs.com/sunli/archive/2008/11/01/1324153.html

利用shell命令操作Memcached[原创]

http://www.s135.com/post/384/

memcached命令行参数说明

http://blog.csdn.net/zzulp/article/details/7823511

参考资料

1 CentOS Memcache安装配置教程

http://www.bootf.com/442.html

2 Yii memcache 保存 session

http://blog.163.com/darwin_zhang/blog/static/12848873620127725122706/

Yii系列教程(四):使用Memcache保存会话的更多相关文章

  1. NGUI系列教程四(自定义Atlas,Font)

    今天我们来看一下怎么自定义NGUIAtlas,制作属于自己风格的UI.第一部分:自定义 Atlas1 . 首先我们要准备一些图标素材,也就是我们的UI素材,将其导入到unity工程中.2. 全选我们需 ...

  2. 黄聪:Microsoft Enterprise Library 5.0 系列教程(四) Logging Application Block

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(四) Logging Application Block 企业库日志应用程序模块工作原理图:   从上图我们可以 ...

  3. CRL快速开发框架系列教程四(删除数据)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  4. C#微信公众号开发系列教程四(接收普通消息)

    微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...

  5. Android Studio系列教程四--Gradle基础

    Android Studio系列教程四--Gradle基础 2014 年 12 月 18 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://stormzhang ...

  6. Fastify 系列教程四 (求对象、响应对象和插件)

    Fastify 系列教程: Fastify 系列教程一 (路由和日志) Fastify 系列教程二 (中间件.钩子函数和装饰器) Fastify 系列教程三 (验证.序列化和生命周期) Fastify ...

  7. webpack4 系列教程(四): 单页面解决方案--代码分割和懒加载

    本节课讲解webpack4打包单页应用过程中的代码分割和代码懒加载.不同于多页面应用的提取公共代码,单页面的代码分割和懒加载不是通过webpack配置来实现的,而是通过webpack的写法和内置函数实 ...

  8. Influx Sql系列教程四:series/point/tag/field

    influxdb中的一条记录point,主要可以分为三类,必须存在的time(时间),string类型的tag,以及其他成员field:而series则是一个measurement中保存策略和tag集 ...

  9. ASP.NET 5系列教程 (四):向视图中添加服务和发布应用到公有云

    向视图中添加服务 现在,ASP.NET MVC 6 支持注入类到视图中,和VC类不同的是,对类是公开的.非嵌套或非抽象并没有限制.在这个例子中,我们创建了一个简单的类,用于统计代办事件.已完成事件和平 ...

随机推荐

  1. intellij idea搭建ssh开发框架之绑定数据源

    原文:intellij idea搭建ssh开发框架之绑定数据源 在intellij idea中绑定数据源并生成hibernate实体对象.在IDE中的右边找到Database标签. 点击弹出窗口中的图 ...

  2. iOS:UIView的block函数实现转场动画---双视图

    使用UIView动画函数实现转场动画——双视图 + (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView durati ...

  3. [转]设置控件全局显示样式appearance proxy

    转自:huifeidexin_1的专栏 appearance是apple在iOS5.0上加的一个协议,它让程序员可以很轻松地改变某控件的全局样式(背景) @selector(appearance) 支 ...

  4. linux select

    man select: #include <sys/select.h> #include <sys/time.h> int select(int nfds, fd_set *r ...

  5. [置顶] 炎炎夏日,给你一次极爽的开发体验!——统一开发环境功能升级优化,正式上线V2.0!

    作为中国移动应用运行托管平台(MM应用引擎)的开发部署工具,统一开发环境(UDE)在原HTML5跨平台开发功能基础上优化升级,新增跨平台编译(Android/iOS)和云端托管服务,正式上线2.0版本 ...

  6. Linux-0.00运行环境搭建【转】

    转自:http://blog.csdn.net/rosetta/article/details/8933240 这里的Linux-0.00由Linus Torvalds写的Linux最初版本,只是打印 ...

  7. SpringMVC上传文件以流方式判断类型附常用类型

    // 此类中判断类型所截取的byte 长度暂不确定,请使用者测试过使用 package com.tg.common.other; import com.tg.common.tginterface.TG ...

  8. linux系统的权限介绍

    让我们用t o u c h命令创建一个文件:$ touch myfile现在对该目录使用ls -l命令: 我们已经创建了一个空文件,正如我们所希望的那样,第一个横杠告诉我们该文件是一个普通文件.你将会 ...

  9. 【Android】MTK Android 编译命令

    命令格式:./maketek [option] [project] [action] [modules] Option: -t ,-tee :输出log信息到当前终端 -o , -opt=-- : 编 ...

  10. c#开源Excel操作库--NPOI

    前言 以前也用C#操作过excel,用的是OleDb或者offic的com组件,但是总是非常的麻烦,依赖限制较多,所以果断寻找开源方案,JAVA上面已经有非常成熟的POI,就这样,找到了移.Net的移 ...