目前,很多大负载站点采用了Memcache作缓存服务,以分担数据库服务器的压力。
这里只介绍在Ubuntu下如何配置Memcache和如何在PHP使用Memecache,对于更深入的了解,比如Memcache的运作机理或更高级的应用还是Google一下…^_^
关于Memcache与memcached
Memcache是项目名,memcached是服务名。让很多初接触的人感觉很是莫名其妙。个人认为正确的应该是用前者用更为正确一点。
安装Memcache
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中使用Memcache
<?php
$mem = new Memcache; //创建Memcache对象
$mem->connect('127.0.0.1', 11211); //连接Memcache服务器
$val = “这是一个Memcache的测试.”;
$key = md5($val);
$mem->set($key, $val, 0, 120); //增加插入一条缓存,缓存时间为120s
if(($k = $mem->get('key'))){ //判断是否获取到指定的key
echo 'from cache:' . $k;
} else {
echo 'normal'; //这里我们在实际使用中就需要替换成查询数据库并创建缓存.
}
?>
对于key,通常用md5 查询语句来获取,在实际使用中根据具体需要来决定好了…
通过上面的步骤,我们就完成了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 11.04 下安装 ns-allinone-2.34 的详细步骤及注意事项 #### 一、Ubuntu 11.04 的安装 1. **下载 Ubuntu 11.04** - 访问官方网站 [www.ubuntu.org.cn](http://www.ubuntu.org.cn/) 下载 Ubuntu 11.04。...
本文档详细介绍了 Ubuntu 11.04 的安装过程,包括自动分区和手动分区两种方式。通过本文档,用户可以轻松地安装 Ubuntu 11.04 操作系统。 一、安装前的准备 在安装 Ubuntu 11.04 之前,需要准备一个可启动的光盘。...
### Ubuntu 11.04下Qt开发环境的安装指南 #### 一、引言 在Linux环境下搭建Qt开发环境对于初学者来说可能会遇到不少挑战。本文将详细介绍如何在Ubuntu 11.04上安装Qt开发环境,并分享一些实用的经验技巧。本教程...
### Ubuntu 11.04 安装指南详解 #### 一、Linux基础知识与挂载点概念 在深入了解Ubuntu 11.04的安装之前,我们先来了解一下Linux的基础知识,尤其是关于挂载点的概念。 Linux作为一种强大的开源操作系统,其核心...
在Ubuntu 11.04中,我们将安装PHP5以及PHP-FPM(FastCGI Process Manager),它允许Nginx与PHP交互: ```bash sudo apt-get install php5-fpm php5-mysql ``` 安装后,PHP-FPM会自动启动,配置文件位于`/etc/...
Ubuntu 11.04 图形安装教程、基本设置、网络设置、软件源、开启Unity 借鉴 Ubuntu 是一个基于 Debian GNU/Linux 的操作系统,适合笔记本、桌面计算机和服务器使用。它包含了所有您需要的应用程序网页浏览器、幻灯片...
Ubuntu 11.04 安装手册是一份详细的指南,旨在帮助用户了解如何在计算机上安装并配置Ubuntu 11.04,一款面向桌面计算机、笔记本和服务器的Linux操作系统。Ubuntu 11.04代号为"Natty Narwhal",于2011年4月发布,是...
本文实例讲述了Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法。分享给大家供大家参考,具体如下: 1、首先安装memcache服务端: sudo apt-get install memcached 安装完成后系统 自动启动...
其中 `/ubuntu-11.04-dvd-i386.iso` 是你下载的安装映像文件的路径。也可以将上述内容直接追加到一键 GHOST 目录下的 `menu.lst` 文件末尾。 3. **复制引导文件**: - 从下载好的镜像文件的 `casper` 目录中提取 `...
### 硬盘全新安装Ubuntu 11.04详细指南 #### 一、概述 随着Linux系统的普及和发展,越来越多的用户开始尝试将其作为主要操作系统使用。Ubuntu作为一款基于Debian的发行版,以其易用性和社区支持而受到广泛欢迎。...
在安装ubuntu11.04时,镜像源扮演着非常重要的角色,因为它提供了软件包更新和安装的能力。默认情况下,ubuntu11.04的镜像源位于/var/apt/spool/apt-mirror目录下。 制作离线镜像源的步骤 1. 安装必要的软件:sudo...
Ubuntu11.04 下载
2. 使用Wubi安装程序,该程序与Ubuntu ISO一同提供,或者可以从Ubuntu官网下载。 3. 运行Wubi,它会引导你完成安装步骤,包括选择安装的Ubuntu版本和分配给Ubuntu的磁盘空间。 4. Wubi会创建一个虚拟硬盘文件,这个...
标题和描述中提到的是在2011年安装Windows 7、Ubuntu 11.04 beta2和openSUSE 11.4三个操作系统的过程,重点在于硬盘安装和多系统共存。以下是对这些知识点的详细说明: 1. **Windows 7硬盘安装**: - 首先,通常...
本文将详细介绍Ubuntu 11.04的图形安装过程、基本设置、网络配置、软件源管理和Unity桌面环境的开启。 1. 安装准备: - Ubuntu是一个基于Debian的开源操作系统,以桌面应用为主,强调社区参与和免费使用。 - ...
### Ubuntu 11.04 图形安装教程与设置详解 #### 一、Ubuntu 11.04 系统概述 Ubuntu 11.04(Natty Narwhal)是Ubuntu系列的一个重要版本,发布于2011年4月28日。这个版本带来了许多新的特性和改进,包括采用Unity...