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);
转载于:https://www.cnblogs.com/chenqionghe/p/4321849.html
php使用memcached缓存总结相关推荐
- memcached 缓存服务器
Memcached 缓存服务器 Memcached 是高性能的分布式内存缓存服务器. 一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态web应用的速度.提高可扩展性. 主要特点 ...
- 从零开始学 Java - Spring 集成 Memcached 缓存配置(二)
Memcached 客户端选择 上一篇文章 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)中我们讲到这篇要谈客户端的选择,在 Java 中一般常用的有三个: Memc ...
- Memcached缓存实例
1.引用dll:Enyim.MemCaching.dll(网上可以下载到) 2.配置web.config: 3.创建Memcached缓存类MemCacheHelper 4.调用: 转载于:https ...
- 第34 memcached缓存
1.缓存数据库 缓存:将数据存储在内存中,只有当磁盘胜任不了的时候,才会启用缓存. 缺点:断电数据丢失(双电),用缓存存储数据的目的只是为了应付大并发的业务,至于数据存储及可靠性不要找他了. 数据库: ...
- redis和memcached缓存
memcached memcache开源的,高性能,高并发分布式内存缓存系统,天生支持集群 memcached下载地址: http://memcached.org/downloads python实现 ...
- 安装telnet_Flask干货:Memcached缓存系统——Memcached的安装
图 | 源网络文 | 5号程序员 Memcached缓存系统是目前使用最广泛的高性能分布式内存缓存系统,是一个自由开源的高性能分布式内存对象缓存系统. 国内外众多大型互联网应用都选择Memcached ...
- Nginx+tomcat+memcached缓存共享session
Nginx+tomcat+memcached缓存共享session session 的序列化方案官方推荐的有 4 种: 1. java serialization 2. msm-kryo-serial ...
- 宝塔无法安装php memcached,宝塔面板安装Memcached缓存加速wordpress
开启缓存是为了加速wordpress经常用到的一种提速方法,除了有专门的插件进行静态化缓存外,还可以使用Memcached进行内存缓存,宝塔面板集成了Memcached,大大降低了使用难度.今天就记录 ...
- C#操作Memcached缓存
Memcached缓存 的安装和简单操作(add / get / remove)可以先看看这个网站 https://www.runoob.com/memcached/window-install-me ...
- MemCached缓存操作
Web项目在运行时,通常需要从数据库中进行读写.随着操作数据量的增大,以及访问量的集中,数据库的负载增加,数据库响应变慢,网站访问速度变慢的情况.Memcached就是用来解决这些问题的. Memca ...
最新文章
- HDU - 6183 暴力,线段树动态开点,cdq分治
- 7,7显示选中的目标信息
- Linux-Centos安装JDK
- idea 构建java 微服务_使用 IDEA 从 0 开始搭建 Spring Cloud 微服务
- 二叉树的遍历 《算法导论》10.4-1~10.4-3 10.4-5
- 搞科研身体才是革命的本钱。
- 7开启uasp协议_【转载分享】“代理报关委托书/委托报关协议”相关问题答疑汇总...
- 硕士研究生毕业论文书写格式总结
- Mindspore实现手写字体识别
- 软件设计师- 系统工程知识
- 海量实时广告流平台(DSP广告系统)架构设计与实践
- 粒子群算法基本原理与编程
- 爱心树html演示,爱心树表白网页源码,jquery女神表白动画树特效
- android添加nfc门禁卡,IOS14nfc怎么添加门禁卡?NFC门禁卡教程[多图]
- 女人假正经的十三种表现
- 24. GD32F103C8T6入门教程-IAP升级教程
- pdf转jpg在线转换免费
- java hex_使用java实现hex和ascii码的转换
- Apache Flink 在快手万亿级数据的应用实践总结
- 完美代替IIS的网络盒子NetBox
热门文章
- 消息队列技术终结者(三)—ActiveMQ的特性及优势
- Eclipse或者MyEclipse—在Eclipse或MyEclipse中的操作(2)
- C# winform+ springboot + mybatis 分页查询
- IE6下png图片透明设置
- LOG. Supervisor基本使用
- osql 登陆mysql_命令行登录mysql报Segmentation fault故障解决
- android 6.0 ndk版本,[推荐]android-ndk6.0翻译(1)
- shell脚本编写_shell脚本编写事例(dhcp自动安装和自动配置)
- fedora10 linux内核,自己动手编译Linux2.6.25.10内核(Fedora 7)
- php上js实现ajax请求,原生JS实现ajax与ajax的跨域请求实例