php 如何使用 缓存MEMCACHE 实例

php下Memcached入门实例解析 本文较为详细的讲述了php下Memcached的入门知识与实例。分享给大家供大家参考。具体如下: memcache 在什么情况下被使用,什么情况下不要使用? 你在何时应该使用 memcache,又要在何时避免使用它?现在你已经知道了,memcahced 是被设计为减轻数据库教程端压力的,但是你最好能制定一个良好的策略,来想办法让 memcached 来尽可能的缓存那些最影响性能的查询,你可以试着为应用中的所有查询做一些执行时间日志,可以帮助你来分析哪些内容是要重点被缓存的. 现在假设你正在运营一个电子商务网站,你可以在 memcached 中缓存产品的简介、运送信息,或者其它一些需要复杂查询的 立即下载

在涉及到大访问量时,合理的使用缓存能减轻数据库的压力,并且可以提升用户体验。在非实时性的需求的前提下,一小段时间内(若干秒),用于显示的数据从缓存中获取的,而不用直接读取数据库,能有效的减少数据库的读取压力。这里记录一下php语言使用memcache的情形:

首先,我们建立一个memcachepool,可以根据不同的配置读取,生成不同的memcache实例。

用到$memcache->addServer($host,$port,$flag);向连接池中添加一个memcache服务器。

代码示例如下

class memcachePool{
     private static $instance;
     private $memcacheList = array();
    private function __construct(){

    }
     public static function getInstance(){
         if(self::$instance != null)
             return self::$instance;
         self::$instance = new memcachePool();
         return self::$instance;
     }
    /**
     * get memcache object from pool
     * @param  [type] $host 服务器
     * @param  [type] $port 端口
     * @param  [type] $flag 控制是否使用持久化连接。默认TRUE
     * @return [type]
     */
     public function getMemcache($host,$port,$flag){
         if(isset($this->memcacheList[$host.$port]))
             return $this->memcacheList[$host.$port];

        $memcache = new Memcache();
        // 向连接池中添加一个memcache服务器
        $memcache->addServer($host,$port,$flag);
        //开启大值自动压缩,第一个参数表示处理数据大小的临界点,第二个参数表示压缩的比例,默认为0.2
        $memcache->setCompressThreshold(2000,0.2);
        $this->memcacheList[$host.$port] = $memcache;
        return $memcache;
     }
 }

接着实现一个包含memcache常用方法如add,set,get,flush,delete等的方法类,这里命名为dlufmemcache

class dlufMemcache{
     private $memcache = null;
     function __construct($host,$port){

       $this->memcache = memcachepool::getInstance()->getMemcache($host,$port,true);
     }
    /**
     * memcache set value
     * @param [type]  $key 键
     * @param [type]  $value 值
     * @param integer $expire  到期的时间,如果此值设置为0表明此数据永不过期
     * @param integer $flag 标志位 使用MEMCACHE_COMPRESSED指定对值进行压缩(使用zlib)
     * @param [type]  $serializetype
     */
     public function set($key,$value,$expire=0,$flag=0,$serializetype=null){
        if($serializetype == 'json' && is_array($value)){
            $value = json_encode($value);
        }
         $this->memcache->set($key,$value,$flag,$expire);
     }
    /**
     * 从服务端查找元素
     * @param  [type] $key
     * @return [type]
     */
     public function get($key){
         return $this->memcache->get($key);
     }
    /**
     * 增加一个条目到缓存服务器
     * @param [type]  $key
     * @param [type]  $value
     * @param integer $expire
     * @param integer $flag
     * @param [type]  $serializetype
     */
    public function add($key,$value,$expire=0,$flag=0,$serializetype=null){
        if($serializetype == 'json' && is_array($value)){
            $value = json_encode($value);
        }
        $ret = $this->memcache->add($key,$value,$flag,$expire);
        return $ret;
    }
    /**
     * 清洗(删除)已经存储的所有的元素
     * @return [type]
     */
    public function flush(){
        return $this->memcache->flush();
    }
    /**
     *  从服务端删除一个元素
     * @param  [type] delete 参数:key要删除的元素的key 删除该元素的执行时间 timeout如果值为0,则该元素立即删除。
     * @return [type]
     */
    public function delete($key){
        $ret = $this->memcache->delete($key,0);
        return $ret;
    }
 }

然后调用dlufmemcache:

$memcache = new dlufMemcache('127.0.0.1',11211);
$memcache->set('memcache','come on dluf&baidu !!!!!!');
$ret = $memcache->get('memcache');
echo print_r($ret,true);
2014-08-20
HUAWEI华为荣耀MagicBook MateBook B D E X 13 14 16 笔记本MateStation台式机原装Win10出厂Windows11系统 HUAWEI华为MateBookX原装出厂系统恢复原厂系统,型号:MACHC-WAE9LP、EUL-W29P、MACHR-W19L、MACHR-W29、MACHD-WFE9、MRGF-16、MACHR-W19BL、MACHD-WFE9Q、WT-W19、Mach-W19、Mach-W29、WT-W09、WT-W19、MACH-W29等。HUAWEI华为MateBookE原装出厂系统恢复原厂系统,型号:PAK-AL09、GK-W7X、GK-G58、GK-W76、DRC-W76等。 阅读详情

相关推荐

服务器冗余电源维修图纸,冗余热备份电源的电路图设计

在设计某高可靠性计算机系统时,要求其配套电源采取冗余设计。一般来说,可以采取的方案有容量冗余、冗余冷备份方式、并联均流的N+1备份方式、冗余热备份方式。容量冗余是指电源的最大负载能力大于实际负载,也就是“大马拉小车”,其缺点是不利于提高电源的效率,而且对提高电源的可靠性意义不大。冗余冷备份方式是指电源由两个或多个功能相同的单元模块组成,电源启动后由其中一个单元模块向设备供电,当工作单元发生故障时,...

weixin_39671509的博客 1995

PHP操作Memcache

b/s: 基于浏览器和服务器架构  web程序 c/s: QQ  SVN client客户端+ 服务器    简单的基于文本行的协议:   redis memcache 区别: 都是存储数据的,memcache直接保存到内存中,redis 保存到内存中,关闭之后保存到硬盘中,memcache 重启电脑,关闭服务都会造成数据丢失   (1)保存在内存中 (2)重启电脑,重启

郭晓湉 3169

Gartner《构建可扩展数据产品建设框架》心得

数据产品化:从概念到落地的实践指南 当前企业正从传统数据需求模式转向数据产品化新范式。本文系统阐述了数据产品的核心价值、定义分类和实施框架,指出成功关键是将数据包装为可复用、可扩展的产品。Gartner框架强调产品思维,提出4阶段12步实施路径,涵盖设计、工程、发布和监控全流程。文章特别提醒要避免7大常见误区,如简单重命名报表、忽视元数据治理等,建议采取MVP策略,90天内完成从价值验证到产品落地的闭环。实施中需平衡技术选型与业务需求,建立跨职能团队,并通过AARRR模型持续追踪产品价值。

2501_91410404的博客 1002

PHP环境下Memcache的使用方法

原文地址:http://www.nowamagic.net/librarys/veda/detail/332 如今互联网崛起的时代,各大网站都面临着一个大数据流问题,怎么提高网站访问速度,减少对数据库的操作;作为PHP开发人员,我们一般能想到的方法有页面静态化处理、防盗链、CDN内容分发加速访问、mysql数据库优化建立索引、架设apache服务器集群()、还有就是现在流行的各种分布式缓存技

u010097616的专栏 1万+

MacOS上如何修改jupyter book的默认打开地址以及如何复制文件路径

记点笔记,才换新系统小半年,还是不太熟悉,所以记录一下笔记,感觉之后也会用到,希望能帮到你们。主要内容是:修改jupyter的默认地址以及复制文件路径。

魔仙的博客 1978

2080Ti双卡开启NVLink

本文介绍了如何在Ubuntu 22.04系统下给2080Ti双卡开启NVLink的方法。

flymyd的博客 2900

php使用memcahe get,php中memcache 基本操作实例

php中memcache 基本操作实例memcache demo$server_ip = '127.0.0.1';$server_port = 11211;$memcache = new Memcache();$memcache->connect($server_ip,$server_port);$memcache->add("name1","user_name1",MEMCACHE_...

weixin_36085931的博客 199

电子技术设计——16×16点阵汉字显示设计

同时,设计还应注重提升显示品质,以保证汉字的稳定展示和观感舒适。本设计的目的是构建一个能够准确在LED点阵上展示汉字的系统,并允许用户通过输入设备来选择所需的汉字,我们将验证设计方案的实际操作性和效果,以确保其满足设计目标。在LED点阵显示和汉字信息处理技术的结合下,研究者们着手研究如何在LED点阵上有效地显示汉字,并提出了一系列显示算法和优化策略,旨在实现清晰且易于阅读的汉字显示效果。首先,你需要准备16×16的LED点阵面板,通常这些点阵是8×8点阵的两倍,因此可以由两个8×8的点阵组合而成。

weixin_68094467的博客 1533

php与memcache结合做部分重页面做缓存处理

需求和现状我们的平台(php网站)由于业务日益负载,导致部分页面承载着很重的数据库查询压力,例如首页涉及很多的联表查询,业务详情页涉及一些鉴权和多表查询,我称之为“重页面”,为了提高查询速度,我决定使用业务缓存方法来处理一层。 解决方法 平台的后端返回的都是json串,所以将json串作为value,前缀加页面标识(例如服务id等)作为key,存储json串。第一次请求时候做set动作,有效期为1小

linux4fun的专栏 1456

从零开始跑通3DGS教程:(三)坐标系与尺度编辑(CloudCompare)

本文所属《从零开始跑通3DGS教程》系列文章; sfm重建的点云已经丢掉了尺度信息,并且坐标系跟图像数据有关(SFM初始化选择的图像),所以如果想恢复物理真实尺度,以及在想要的视角下渲染,那么需要对尺度和坐标系进行编辑修正,下文介绍如何使用CloudCompare修改坐标系和尺度

诺有缸的高飞鸟的博客 2871

【红外DDE算法】一种应用于高动态范围红外可视化的算法

【红外DDE算法】一种应用于高动态范围红外可视化的算法 - 这个算法背后的动机 - 展示这个算法的流程 - 然后讨论各个可调参数的意义。

sunwindl91181的博客 1682

memcache课程---3、php使用memcache缓存实例

memcache课程---3、php使用memcache缓存实例 一、总结 一句话总结: 前置:windows下安装好memcache.exe,安装好memcache的php扩展,开启memcache服务,连接memcache服务 函数:去php的手册里面找memcache 核心伪代码:if( memcache中有数据 ){ 从memcache中取数据 } else { 从数据...

weixin_30875157的博客 106

Autosar代码包初识 2 - 如何编译Vector包内Demo工程

Vetcor autosar代码包Demo工程编译,GreenHills,RH850,Autosar,Davinci COnfigurator

weixin_42412049的博客 5184

PHP如何操作Memcache缓存?

安装好了memcache服务和php的扩展,我们就可以使用php去操作memcache来实现缓存啦! PHP的Memcache客户端所有方法总结 memcache 类所有的方法列表如下: Memcache::add – 添加一个值,如果已经存在,则返回false Memcache::addServer – 添加一个可供使用的服务器地址 Memcache::close – 关闭一个Memca...

weixin_44056915的博客 226

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

lnmp架构(三)——静态缓存之给php添加memcache(nginx+php+mysql+memcache)---MemCache对php页面的缓存加速优化

文章目录一、什么是MemCache二、MemCache的工作流程三、Memcache特性和限制四、为什么要使用Memcache ?五、MemCache对php页面的缓存加速优化 一、什么是MemCache memcache是一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著 ,这是一套开放源代码软件,以BSD ...

weixin_43936969的博客 437

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

php使用memcahe get,php操作memcache缓存

安装好了memcache服务和php的扩展,我们就可以使用php去操作memcache来实现缓存啦!PHP的Memcache客户端所有方法总结memcache 类所有的方法列表如下:Memcache::add–添加一个值,如果已经存在,则返回falseMemcache::addServer–添加一个可供使用的服务器地址Memcache::close–关闭一个Memcache对象M...

weixin_39762348的博客 178

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

memcache php_如何在PHP中使用Memcache

memcache phpMemcache with PHP. Today I have new article for PHP. Last time I did post about Memcache with PHP. Today we will talking about caching in PHP again. I will show you how you can use Memcach...

cuke3186的博客 393

php 清空一个数组_PHP操作Memcache缓存

点击蓝字关注我们!每天获取最新的编程小知识!源 /php中文网 源 /www.php.cn前提:安装好memcache服务和php的扩展(点击左下PHP的Memcache客户端所有方法总结memcache 类所有的方法列表如下:Memcache::add – 添加一个值,如果已经存在,则返回false Memcache::addServer – 添加一个可供使用的服务器地址...

weixin_42184924的博客 198

memcache缓存的使用

<?PHP       $ memobj =新的memcache();    $ memobj->连接( '127.0.0.1', '11211');          $ memobj->集( “姓名”,$ ARR,假,1); // ARR和的foreach保持一样    $ AA = $ memobj->获取( '名称');     if(!empty($ aa)){ ...

wang_ze的博客 382

缓存系统memcache的安装,配置和使用

[我的Linux,让Linux更易用]memcached是一套分布式的快取或缓存系统,当初是Danga Interactive为了LiveJournal所发展的,但目前被许多软件(如MediaWiki)所使用。这是一套开放源代码软件,以BSD license授权释出。 memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。 memcached的API使用三

kevin 686

PHP中的Memcache详解

一、Memcache简介 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached管理这些HashTable,所以速度非常快。 二、Memc...

dianqiangjin0204的博客 114

php下操作memcache

php下操作memcache 创建一个memcache实例 $mem = new Memcache; 连接memcache服务器 $mem->connect(“localhostg”,11211); 1.添加操作 $mem->set(‘name’,‘user1’); 2.删除操作 $mem->delete(‘name’); 3.查询操作 $mem->get(‘name’);...

逍遥游的博客 297

memcache

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

weixin_34221112的博客 160

php + memcache

memcache的使用。函数库参见http://php.net/manual/zh/book.memcache.php memcached的函数库参见http://php.net/manual/zh/book.memcached.php 使用的方法如下面的代码: <?php $memcache=new memcache(); $memcache->...

JOKER0707的博客 90

Memcache服务

1、memcached在项目中的作用和益弊1.1、作用a、作Web服务或移动端的页面缓存快速读取数据,减轻磁盘存储(比如Mysql、ES)服务的压力b、跨域登录    严格地说,不是跨越,而是跨一个域中的不同主机,现象就是当用户在浏览器中登录某个域中的某个主机后,然后打开这个域中的另外一个(虚拟)主机,能同步登录状态。1.2、项目使用Memcache缓存服务的益弊a、防止多个客户端对同一接口中同一...

七色米的足迹 986

php 5.4 memcache 64,php5.4之分布式缓存memcache(windows7下安装配置)

二、安装好memcache进行memcached在php的扩展配置php_memcached.dll csdn资源 http://download.youkuaiyun.com/detail/king_inguctmnv/5793675在php.ini中粘贴开启扩展 同一时候将此文件放到ext扩展文件里那如今memcache就ok了能够用了,来试试。header("Content-type:text/...

weixin_31439191的博客 125
上一篇: 实例讲解Nginx下的rewrite规则
下一篇: Memcache
lanlan945
博客等级 码龄11年 7粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值