PHP与memcached实战

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

PHP使用Memcached的基本步骤
环境:
服务器:CentOS 6.4
PHP版本:5.6.30

1、编译安装memcached系统服务
http://memcached.org/下载memcached,然后进行编译安装

2、编译安装memcache扩展

pecl.php.net网址下载扩展,并进行编译安装,形成.so的文件,然后把.so的文件路径添加到php.ini中,然后重启php-fpm

3、学习memcached的简单命令

前台启动:./bin/memcached -u nobody -p 11211 -m 64 -vvv
后台启动:./bin/memcached -u nobody -p 11211 -m 64 -vvv &

4、实战案例:实现隔5秒去查询数据库

可以参考php手册中的memcache扩展Api

<?php
$mem = new Memcache();
$mem->connect('localhost',11211);
$users = $mem->get('users');//从memcached中读取users数据
if(empty($users)){
    $dsn = 'mysql:host=localhost;dbname=test';
    $pdo = new PDO($dsn,'root','1234');
    $sql = 'select * from user;';
    $st = $pdo->prepare($sql);
    $st->execute();
    $users = $st->fetchAll(PDO::FETCH_ASSOC);
    $mem->add('users',$users,false,5);//将users数据添加到memcached中并保存5秒
    echo 'from mysql'.'<br/>';
}else{
    echo 'from cache'.'<br/>';
}
print_r($users);
?>

思路:
创建一个memcache的对象,然后连接到memcached服务器上,首先从memcached中读取是否存在users数据,如果不存在,就连接数据库服务器,然后查询数据,并将数据存储到memcached中,最后进行输出。

效果图:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值