zoukankan      html  css  js  c++  java
  • 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中,最后进行输出。

    效果图:
    这里写图片描述

  • 相关阅读:
    关于aar 上传到jcenter的最快方式
    快速开发的几个框架
    git 删除本地提交记录
    git 缓存溢出
    vs 启动网站设置为127.0.0.1 设置为本机IP地址
    uni-app 设置登录状态保存
    c# 快速实现php的ksort函数
    宝塔面板出现“require(): open_basedir restriction in effect. ”的解决方法
    PHP访问数据的时候 返回的json数据前面会带小红点
    C# Generic(转载)
  • 原文地址:https://www.cnblogs.com/cnsec/p/13407028.html
Copyright © 2011-2022 走看看