Memcache分为两部分,Memcache服务端和客户端。Memcache服务端是作为服务来运行的,所有数据缓存的建立,存储,删除实际上都是在这里完成的。客户端,在这里我们指的是PHP的可以调用的扩展。

1)安装Memcache服务端

sudo apt-get install memcached

安装完Memcache服务端以后,我们需要启动该服务:

memcached -d -m 128 -p 11211 -u root

这里需要说明一下memcached服务的启动参数:

-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48
-h 显示帮助2)安装Memcache客户端

sudo apt-get install php5-memcache

安装完以后我们需要在php.ini里进行简单的配置,打开/etc/php5/apache2/php.ini文件在末尾添加如下内容:

[Memcache]

; 一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,
; 它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。

; 是否在遇到错误时透明地向其他服务器进行故障转移。
memcache.allow_failover = On

; 接受和发送数据时最多尝试多少个服务器,只在打开memcache.allow_failover时有效。memcache.max_failover_attempts = 20

; 数据将按照此值设定的块大小进行转移。此值越小所需的额外网络传输越多。
; 如果发现无法解释的速度降低,可以尝试将此值增加到32768。
memcache.chunk_size = 8192

; 连接到memcached服务器时使用的默认TCP端口。
memcache.default_port = 11211

; 控制将key映射到server的策略。默认值”standard”表示使用先前版本的老hash策略。
; 设为”consistent”可以允许在连接池中添加/删除服务器时不必重新计算key与server之间的映射关系。
;memcache.hash_strategy = “standard”; 控制将key映射到server的散列函数。默认值”crc32″使用CRC32算法,而”fnv”则表示使用FNV-1a算法。
; FNV-1a比CRC32速度稍低,但是散列效果更好。
;memcache.hash_function = “crc32″

保存php.ini,执行sudo /etc/init.d/apache2 restart重启Apache。

<?php
$mem = new Memcache; //创建Memcache对象
#var_dump($mem);die;
$mem->connect("localhost", 11211); //连接Memcache服务器$val = "这是一个Memcache的测试.";
$key = md5($val);
$mem->set($key, $val, 0, 120); //增加插入一条缓存,缓存时间为120sif(($k = $mem->get($key))){ //判断是否获取到指定的key
echo 'from cache:'.$k;
} else {
echo 'normal'; //这里我们在实际使用中就需要替换成查询数据库并创建缓存.
}?>

过上面的步骤,我们就完成了Memcache的配置和基本使用…

php5-memcache扩展提供的方法

Memcache::add — 添加一个值,如果已经存在,则返回false
Memcache::addServer — 添加一个可供使用的服务器地址
Memcache::close — 关闭一个Memcache对象
Memcache::connect — 创建一个Memcache对象
memcache_debug — 控制调试功能
Memcache::decrement — 对保存的某个key中的值进行减法操作
Memcache::delete — 删除一个key值
Memcache::flush — 清除所有缓存的数据

Memcache::get — 获取一个key值
Memcache::getExtendedStats — 获取进程池中所有进程的运行系统统计
Memcache::getServerStatus — 获取运行服务器的参数
Memcache::getStats — 返回服务器的一些运行统计信息
Memcache::getVersion — 返回运行的Memcache的版本信息
Memcache::increment — 对保存的某个key中的值进行加法操作
Memcache::pconnect — 创建一个Memcache的持久连接对象
Memcache::replace — R对一个已有的key进行覆写操作
Memcache::set — 添加一个值,如果已经存在,则覆写
Memcache::setCompressThreshold — 对大于某一大小的数据进行压缩
Memcache::setServerParams — 在运行时修改服务器的参数

ubuntu 中安装memcache,并给出一个简单的实例·相关推荐

  1. ubuntu中安装一个kdevelop步骤

    今天想在ubuntu中安装一个kdevelop,下面是安装步骤. 操作步骤 1:在ubuntu中创建一个文件夹 2:终端cd到文件夹 3:执行命令1,这是在下载 wget -O KDevelop.Ap ...

  2. Ubuntu中安装DiscuzX2

    http://blog.csdn.net/kevin_ysu/article/details/7452938 一.Apache的安装 Apache作为一个功能强大的Web程序,自然是架建Web服务器的 ...

  3. 在ubuntu下安装memcache

    使用Memcache的网站一般流量都是比较大的,为了缓解数据库的压力,让Memcache作为一个缓存区域,把部分信息保存在内存中,在前端能 够迅速的进行存取. 下面来介绍一下如何安装和使用memcac ...

  4. ubuntu安装matlab2009,Ubuntu中安装Matlab2010a

    Ubuntu中安装Matlab2010a 一.前言: 相信大家对于Matlab应该很熟悉吧,我就不多做介绍了. 对于如何在Ubuntu中安装Matlab很多人都不懂,大家都是新手,可以理解.我自己本身 ...

  5. 在Ubuntu中安装MySQL (转载)

    MySQL在Linux Ubuntu中安装 本文使用的Linux是Ubuntu 12.04.2 LTS 64bit的系统,安装MySQL数据库软件包可以通过apt-get实现. 在Linux Ubun ...

  6. 如何在 Ubuntu 中安装和删除软件

    文章目录 1.Ubuntu Software 1.1.使用Ubuntu软件中心安装软件[推荐] 1.2.使用Ubuntu软件中心删除软件[推荐] 2..deb 文件 2.1.使用 .deb 文件在 U ...

  7. Ubuntu中安装Qt

    文章目录 Ubuntu中安装必要的软件 安装流程 配置 运行 配置运行 Ubuntu中安装必要的软件 主要为了打开图形程序 sudo apt-get update sudo apt-get --ass ...

  8. Ubuntu Desktop:在Ubuntu中安装使用搜狗输入法

    本文同时发表在我的个人博客,欢迎大家查阅 :Ubuntu折腾记录:在Ubuntu中安装使用搜狗输入法 前言 刚安装好 Ubuntu 之后,为了让我们更好的从 Windows 转换到 Linux 的日常 ...

  9. Ubuntu中安装docker-compose

    安装最新Docker社区版请看博客<Ubuntu中安装最新Docker社区版> Compose是用于定义和运行多容器Docker应用程序的工具.通过Compose,我们可以使用YAML文件 ...

最新文章

  1. 在网页中怎样打印网页中的一部分(比如打印网页中的一个表格)
  2. FJ省队集训DAY3 T1
  3. 计算机存储器与寄存器的区别,存储器和寄存器区别
  4. ASP.Net 获取当前时间
  5. 一些实用的Javascript代码
  6. ThinkPad系列笔记本待机恢复后,双击我的电脑始终运行而无法打开
  7. python 金字塔的程序_python生成金字塔
  8. Android PopupWindow系列 (一) —— popupWindow基本使用方略
  9. 德国精品软件推荐   压缩软件 WINRAR 个人版终于免费了。
  10. 解除劳动关系后,职工医保怎么续缴?
  11. python---单元测试
  12. ASP.NET MVC下基于异常处理的完整解决方案
  13. ISA Server、虚拟机、托管服务器的使用
  14. PropertyUtils.copyProperties复制对象失败
  15. matlab画柱状图_附带调色、字体
  16. nmds与mds的区别_通过ggplot2为NMDS的椭圆添加特定的形状和线型
  17. 浅谈老妈的QQ号被盗之后
  18. Delphi对象克隆技术
  19. arduino动态刷新显示_玩家国度XG27UQ绝影游戏显示器评测:DSC加持的满血4K显示器...
  20. 使用微信开发者平台调样式

热门文章

  1. linux的dns查询工具,一款超强的统计DNS查询的工具--DNSTOP
  2. 判断某值是否属于枚举类中的值_编写高质量可维护的代码之优化逻辑判断
  3. 电脑磁盘空间不足怎么办_IT干货 丨 电脑C盘存储空间不足怎么办?
  4. java 找不到符号变量_java编程找不到符号
  5. 查看一个索mysql_如何查看MySQL索引
  6. n条直线相交最多有几个邻补角_【初一】 n(n1)模型在相交线中的应用
  7. 计算机考试受苦受累,受苦受累真是福作文800字
  8. android 根目录缓存,Android系统中内部存储和外部存储(公有目录、私有目录、缓存目录)详解...
  9. mysql 返回的查询结果为空 (即零行)._Mysql数据同步(单向)
  10. c语言卡尔曼函数库,kalman之c语言实现