1. 查询多行记录,以sql的md5值为key,缓存数组(个人觉得最好用的方法)

$mem = new Memcache();
$mem->connect('127.0.0.1',11211);
$id = (int)$_GET['id'];
$sql = "SELECT * FROM test WHERE id='$id'";
$key = md5($sql);
//数据库查询是否已经缓存到memcahced服务器中
if(!($datas = $mem->get($key)))
{
    echo 'mysql<br />';
    //如果在memcached中没获取过数据,连mysql获取
    $conn = mysql_connect('localhost','root','123456');
    mysql_select_db('test');
    $result = mysql_query($sql);
    while($row = mysql_fetch_assoc($result))
    {
        $datas[] = $row;
    }
    //再把mysql获取的数据保存到memcached中,供下次使用
    $mem->add($key,$datas);
}
else
{
    echo 'memcache<br />';
}
print_r($datas);

2.查询单行记录,缓存该行记录,以id值为key(也可用md5后的sql语句为键)

$rangeid = rand(600,1276);
$rangeid = '1237';
$mem = new Memcache;
$mem->connect('127.0.0.1',11211);
if( ($com = $mem->get($rangeid)) === false)
{
    echo '来自mysql<br />';
    $conn = mysql_connect('localhost','root','123456');
    $sql = 'use dedecms';
    mysql_query($sql,$conn);
    $sql = 'set names utf8';
    mysql_query($sql,$conn);
    $sql = 'select aid,actors from dede_addonmovie where aid=' . $rangeid;
    $rs = mysql_query($sql,$conn);
    $com = mysql_fetch_assoc($rs);
    $mem->add($rangeid , $com , false, 60);
}
else
{
    echo '来自memcache<br />';
}
header('content-type:text/html;charset=utf8;');
print_r($com);

也可以用另一种方式连接memcache

$rangeid = rand(600,1276);
$mconn = memcache_connect('localhost',11211);
if( ($com = memcache_get($mconn,$rangeid)) === false)
{
    $conn = mysql_connect('localhost','root','123456');
    $sql = 'use dedecms';
    mysql_query($sql,$conn);
    $sql = 'set names utf8';
    mysql_query($sql,$conn);
    $sql = 'select aid,actors from dede_addonmovie where aid=' . $rangeid;
    $rs = mysql_query($sql,$conn);
    $com = mysql_fetch_assoc($rs);
    memcache_add($mconn , $rangeid , $com , false, mt_rand(40,120));
}
else
{
    echo 'from cache';
}
print_r($com);

php使用memcached缓存总结的更多相关文章

  1. 从零开始学 Java - Spring 集成 Memcached 缓存配置(二)

    Memcached 客户端选择 上一篇文章 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)中我们讲到这篇要谈客户端的选择,在 Java 中一般常用的有三个: Memc ...

  2. .NET跨平台之旅:基于.NET Core改写EnyimMemcached,实现Linux上访问memcached缓存

    注:支持 .NET Core 的 memcached 客户端 EnyimMemcachedCore 的 NuGet 包下载地址:https://www.nuget.org/packages/Enyim ...

  3. redis和memcached缓存

    memcached memcache开源的,高性能,高并发分布式内存缓存系统,天生支持集群 memcached下载地址: http://memcached.org/downloads python实现 ...

  4. 应对Memcached缓存失效,导致高并发查询DB的四种思路(l转)

    当Memcached缓存失效时,容易出现高并发的查询DB,导致DB压力骤然上升. 这篇blog主要是探讨如何在缓存将要失效时,及时地更新缓存,而不是如何在缓存失效之后,如何防止高并发的DB查询. 解决 ...

  5. memcached 缓存服务器

    Memcached 缓存服务器 Memcached 是高性能的分布式内存缓存服务器. 一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态web应用的速度.提高可扩展性. 主要特点 ...

  6. Memcached缓存瓶颈分析

    Memcached缓存瓶颈分析 获取Memcached的统计信息 Shell: # echo "stats" | nc 127.0.0.1 11211 PHP: $mc = new ...

  7. 通过spring.net中的spring.caching CacheResult实现memcached缓存

    通过spring.net中的spring.caching CacheResult实现memcached缓存1.SpringMemcachedCache.cs2.APP.config3.Program. ...

  8. Windows系统下Memcached缓存系列二:CouchbaseClient(c#客户端)的详细试用,单例模式

    在上一篇文章里面 ( Windows系统下Memcached缓存系列一:Couchbase(服务器端)和CouchbaseClient(c#客户端)的安装教程 ),我们介绍了服务器端的安装和客户端的安 ...

  9. memcached缓存雪崩现象及解决办法

    1)什么是缓存雪崩?场景:一个访问很大的文章(论坛之类)的网站,使用memcached缓存用户查询过的文章.设置的缓存过期时间为6小时,所以没过6小时,缓存就会失效并重建一遍 问题:过六小时时,一部分 ...

  10. 受教了,memcache比较全面点的介绍,受益匪浅,适用memcached的业务场景有哪些?memcached的cache机制是怎样的?在设计应用时,可以通过Memcached缓存那些内容?

    基本问题 1.memcached的基本设置 1)启动Memcache的服务器端 # /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 ...

随机推荐

  1. vnc 搭建 转

    这里要注意,关闭selinux setenforce 0 原文地址: http://www.linuxidc.com/Linux/2015-04/116725.htm 这是一个关于怎样在你的 Cent ...

  2. webplus知识点小结

    1.返回首页,要在首页栏目里面加链接,直接预览站点的时候地址栏那个地址就行 2.上传图片变色问题,要传jpg格式,不要png 3.留言板制作:后台组件管理->留言板->获取链接 然后在留言 ...

  3. Unity 游戏运行越久加载越慢

    原因是某个GameObject 被调用多次DontDestroyOnLoad,表面上是调用多次没问题,实际上调用次数越多,加载速度越慢.

  4. S 实现精确加减乘除

    //加法函数 function accAdd(arg1, arg2) { var r1, r2, m; try { r1 = arg1.toString().split(".")[ ...

  5. Spring的概念

    一.思想 IOC: DI: 二.applicationContext&BeanFactory

  6. winSocket编程(十)完成端口

    //本篇为转贴 本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,所以这篇文档总是在酝酿之中……酝酿了两年之后,终于决定开始动笔了,但愿还不算晚….. 这篇文档我非 ...

  7. DL_1_week2_神经网络基础

    二分类问题 在二分分类问题中,目标是训练出一个分类器,这里以图片特征向量x作为输入,预测输出的结果标签y是1还是0,也就是预测图片中是否有猫.          计算机保存一张图片(彩色),要保存三个 ...

  8. Jquery 图片走马灯效果原理

    本篇只讲解水平走马灯效果,垂直向上走马灯效果不讲解,原理一样,但是水平走马灯效果有一个小坑.待会讲解 照例先上代码: HTML: <div class="box"> & ...

  9. idea集成tomcat

    1 Tomcat的使用 * Tomcat:web服务器软件 1. 下载:http://tomcat.apache.org/ 2. 安装:解压压缩包即可. * 注意:安装目录建议不要有中文和空格 3. ...

  10. 9:集合collection

    第一 集合框架的概述 集合类的由来:  对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定,就使用集合容器进行存储.   集合和数组的区别: 数组虽然可以存储对象,但是长度是固定的:集合长度 ...