php使用memcached缓存总结
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缓存总结的更多相关文章
- 从零开始学 Java - Spring 集成 Memcached 缓存配置(二)
Memcached 客户端选择 上一篇文章 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)中我们讲到这篇要谈客户端的选择,在 Java 中一般常用的有三个: Memc ...
- .NET跨平台之旅:基于.NET Core改写EnyimMemcached,实现Linux上访问memcached缓存
注:支持 .NET Core 的 memcached 客户端 EnyimMemcachedCore 的 NuGet 包下载地址:https://www.nuget.org/packages/Enyim ...
- redis和memcached缓存
memcached memcache开源的,高性能,高并发分布式内存缓存系统,天生支持集群 memcached下载地址: http://memcached.org/downloads python实现 ...
- 应对Memcached缓存失效,导致高并发查询DB的四种思路(l转)
当Memcached缓存失效时,容易出现高并发的查询DB,导致DB压力骤然上升. 这篇blog主要是探讨如何在缓存将要失效时,及时地更新缓存,而不是如何在缓存失效之后,如何防止高并发的DB查询. 解决 ...
- memcached 缓存服务器
Memcached 缓存服务器 Memcached 是高性能的分布式内存缓存服务器. 一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态web应用的速度.提高可扩展性. 主要特点 ...
- Memcached缓存瓶颈分析
Memcached缓存瓶颈分析 获取Memcached的统计信息 Shell: # echo "stats" | nc 127.0.0.1 11211 PHP: $mc = new ...
- 通过spring.net中的spring.caching CacheResult实现memcached缓存
通过spring.net中的spring.caching CacheResult实现memcached缓存1.SpringMemcachedCache.cs2.APP.config3.Program. ...
- Windows系统下Memcached缓存系列二:CouchbaseClient(c#客户端)的详细试用,单例模式
在上一篇文章里面 ( Windows系统下Memcached缓存系列一:Couchbase(服务器端)和CouchbaseClient(c#客户端)的安装教程 ),我们介绍了服务器端的安装和客户端的安 ...
- memcached缓存雪崩现象及解决办法
1)什么是缓存雪崩?场景:一个访问很大的文章(论坛之类)的网站,使用memcached缓存用户查询过的文章.设置的缓存过期时间为6小时,所以没过6小时,缓存就会失效并重建一遍 问题:过六小时时,一部分 ...
- 受教了,memcache比较全面点的介绍,受益匪浅,适用memcached的业务场景有哪些?memcached的cache机制是怎样的?在设计应用时,可以通过Memcached缓存那些内容?
基本问题 1.memcached的基本设置 1)启动Memcache的服务器端 # /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 ...
随机推荐
- str 转 md5
@interface NSString (MD5) + (NSString *)md5To32bit:(NSString *)str; @end @implementation NSString (M ...
- boost asio 学习(八) 网络基础 二进制写发送和接收
http://www.gamedev.net/blog/950/entry-2249317-a-guide-to-getting- started-with-boostasio?pg=9 8. Net ...
- php上传多张图片
第一种:加后缀 代码实现(就是普通的上传图片,只是在外面加个foreach循环) $allow_file_types = '|GIF|JPG|PNG|BMP|SWF|DOC|XLS|PPT|MID|W ...
- eclipse启动时出现无法创建java虚拟机
最 近一直在用eclipse开发android程序,今天不知怎么的启动eclipse时就会出现Failed to create java virtual machine,无法打开eclipse程序,折 ...
- 1.MFC架构分析
1.架构代码文件的结构 主要由四个部分组成 1.资源文件Resource.h:主要定义资源的ID 2.预编译文件:stdafx.h 可以用来解决头文件包含冲突的问题,定义一些需要全局性包含的文件. 3 ...
- 参考文献bib管理
比如在IEEE模板中,在当前目录添加 bib 文件reference.bib 在 \end{document} 之前加入 \bibliographystyle{IEEEtran} \bibliogra ...
- poj 3279(暴力)
题意:有一个n*m的格子,每个格子都有黑白两面(0表示白色,1表示黑色).我们需要把所有的格子都反转成黑色,每反转一个格子,它上下左右的格子都会跟着反转.请求出用最小步数完成反转时每个格子反转的次数. ...
- Latex命令
.tex代码中 | 在pdf文档中 空一行 代表回车,下一行空两格 // 代表回车,下一行顶格
- Pattern Design - Strategy Pattern
If you can disassemble code and you want to apply one method of an object in another object that t ...
- PMP:1.引论
全球项目管理业界定义的最重要的价值 观是责任.尊重.公正和诚实(成功准则). 项目是为创造独特的产品.服务或成果而进行的临时性工作: 开展项目是为了通过可交付成果达成目标.目标指的是工作所指向 ...