ubuntu下memcache的安装与基本使用

关于Memcache与memcached 

Memcache是项目名,memcached是服务名。让很多初接触的人感觉很是莫名其妙。个人认为正确的应该是用前者用更为正确一点。 

安装Memcache 

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

1)安装Memcache服务端 

sudo apt-get install memcached 

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

memcached -d -m 128 -p 11111 -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 = 11111 

; 控制将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 


$mem = new Memcache; //创建Memcache对象 
$mem->connect(”127.0.0.1″, 11111); //连接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 — 在运行时修改服务器的参数
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(2269) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值