近期项目的访问量较大,对数据库的读取较为频繁,服务器有点扛不住的趋势,使用缓存就是一个迫在眉睫的事情。 经过网上的各种遍历,最终使用了memcache作缓存。 由于网上关于memcache的教程甚少,在此把收集的相关资料和使用的心得整理一下。 关于Memcache
近期项目的访问量较大,对数据库的读取较为频繁,服务器有点扛不住的趋势,使用缓存就是一个迫在眉睫的事情。
经过网上的各种遍历,最终使用了memcache作缓存。
由于网上关于memcache的教程甚少,在此把收集的相关资料和使用的心得整理一下。
关于Memcache
我简单的理解为使用内存存储的数据库,好三俗。。。其他的自己google去。。。
安装Memcache
需要安装两个东西,一个是memcached主程序,一个是PHP扩展。
目前最新的Memcache是1.4.15,具体可以看官网:http://memcached.org/
具体安装安装方法:
英文版:https://code.google.com/p/memcached/wiki/NewInstallFromSource
中文版:http://www.ccvita.com/259.html
Win版:http://www.ccvita.com/258.html
PHP使用Memcache
<?php //连接 $mem = new Memcache; $mem->connect("192.168.0.100", 12000); //保存数据 $mem->set('key1', 'This is first value', 0, 3600); $val = $mem->get('key1'); echo "Get key1 value: " . $val ."<br>"; //保存数组 $arr = array('aaa', 'bbb', 'ccc', 'ddd'); $mem->set('key2', $arr, 0, 60); $val2 = $mem->get('key2'); echo "Get key2 value: "; print_r($val2); echo "<br>"; //删除数据 $mem->delete('key1'); $val = $mem->get('key1'); echo "Get key1 value: " . $val . "<br>"; //清除所有数据 $mem->flush(); $val2 = $mem->get('key2'); echo "Get key2 value: "; print_r($val2); echo "<br>"; //关闭连接 $mem->close(); ?>
浏览器的输出结果为:
Get key1 value: This is first value
Get key2 value: Array ( [0] => aaa [1] => bbb [2] => ccc [3] => ddd )
Get key1 value:
Get key2 value:
代码分析
$mem = new Memcache;
初始化一个Memcache的对象。
$mem->connect("192.168.0.100", 12000);
连接到Memcache服务器端,第一个参数是服务器的IP地址,也可以是主机名,第二个参数是Memcache的开放的端口。
跟Mysql一样,同样有pconnect($host, $port)的长连接方法,这个方法不能被close关闭。
$mem->set('key1', 'This is first value', 0, 3600);
保存一个数据到Memcache服务器上,第一个参数是数据的key,用来定位一个数据(索引),第二个参数是需要保存的数据内容,这里是一个字符串,第三个参数是一个标记,一般设置为0或者MEMCACHE_COMPRESSED(压缩),第四个参数是数据的有效期,就是说数据在这个时间内是有效的,如果过去这个时间,那么会被Memcache服务器端清除掉这个数据,单位是秒,如果设置为0,则是永远有效,我们这里设置了3600,就是一个小时。
同时我还发现还有add()和replace()方法,一个插数据一个修改数据,set是他们的综合版啊。
$val = $mem->get('key1');
从Memcache服务器端获取一条数据,它只有一个参数,就是需要获取数据的key,我们这里是上一步设置的key1。
$arr = array('aaa', 'bbb', 'ccc', 'ddd'); $mem->set('key2', $arr, 0, 60);
同样的,Memcache也是可以保存数组的。
$mem->delete('key1');
同样的,删除也通过这个key来删除单条内容。
$mem->flush();
清除Memcache服务器上的数据,慎用喔,如果服务器上有别人的缓存的话。
关于Memcache的更多方法,请看这个:http://www.php.net/memcache
还有分布式应用先看着这篇吧。http://www.ccvita.com/395.html
Memadmin管理工具
在此推荐一个工具:memadmin
这是个对Memcache进行管理的程序,功能强大,界面美观,可以提升开发和debug效率喔,具体使用方法一看就懂,不做介绍啦。
原文地址:Memcache PHP简单教程, 感谢原作者分享。

在Web应用中,缓存是一个非常重要的技术。缓存可以大大减少数据库和服务器的负载,提高Web应用的性能。Memcache是一种高性能的分布式内存缓存系统,常用于Web应用中。在PHP中使用Memcache缓存,有时会出现一些问题,本文将介绍这些问题及其解决办法。问题一:无法连接到Memcache服务器在使用Memcache缓存时,第一个遇到的问题可能是无法连接

随着互联网的飞速发展,越来越多的应用程序需要面对大量的并发请求,如何提高应用的并发处理能力成为开发者们需要解决的问题。其中,利用Memcache缓存技术进行并发优化成为了相对较为流行的一种方案。Memcache是一种高效的缓存技术,适用于大型Web应用程序、数据库和分布式系统。其特点是将数据存储于内存中,以实现高速读写操作。在Web应用程序的数据访问过程中,

Memcache是一种在Web应用中常用的缓存技术,对于高并发的应用,它能够减轻数据库的压力,提高数据读取速度,降低系统响应时间。但是,在实际运用中,由于某些原因,会出现缓存数据被破坏的情况。本文主要从以下几个方面来讲述如何避免PHP应用中Memcache缓存技术出现数据损坏的情况。一、数据序列化通常情况下,我们将需要缓存的数据直接以对象形式存储到Memca

Memcache是一种开源的、分布式的缓存技术。它通过将数据存储在内存中,极大地提高了数据的访问速度,从而提升了网站的性能和响应速度。在PHP项目中,Memcache缓存技术也被广泛应用,并且取得了很好的效果。本篇文章将深入探讨Memcache缓存技术在PHP项目中的应用和实践。一、Memcache的原理和优势Memcache是一种内存缓存技术,它可以将数据

随着网络技术越来越发达,网站的访问量逐渐增多,为了提升用户体验,我们需要尽可能地减少网页的加载时间和传输数据的大小。其中,Gzip压缩算法是一种经典的数据压缩算法,可以在传输数据时将数据压缩,减少传输数据的大小,从而提升网页的加载速度和用户体验。在使用Gzip压缩算法来优化网站时,我们还可以结合PHP中的Memcache缓存技术来进一步提升网站的性能。一、G

随着互联网技术的不断发展,网站的用户访问量越来越大,带来的并发访问量也越来越高。为了应对这种高并发访问,常用的手段是使用缓存技术。而在PHP语言中,Memcache缓存技术是一种非常有效的解决方案。Memcache是一种分布式缓存系统,能够将大量的数据缓存在内存中,并能够从内存中快速读取,从而提高网站的响应速度和并发能力。在本文中,我们将介绍如何使用PHP中

Memcache缓存技术在PHP中优化数据交互的实践和思考在现代的Web应用中,数据交互是一个非常重要的问题,它没有足够的高效性,将会限制Web应用程序的扩展性和性能。为了加快数据交互速度,我们通常的做法是优化数据库的设计、提高硬件的性能和增加服务器容量。但是,这些方法都有一个共同的限制:它们会增加系统的成本。最近几年,Memcache技术在解决这个问题上提

随着互联网时代的到来,Web应用程序的访问量越来越大,同时性能也愈发成为用户优先考量因素之一。缓存技术因此应运而生。Memcache作为一种高性能、分布式的内存对象缓存系统,被广泛应用于Web开发中。在PHP中构建Memcache缓存架构,可大幅提升Web应用程序的性能和响应速度。下面我们将分为以下几个方面,阐述Memcache缓存技术在PHP中的构建方式。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Dreamweaver CS6
Visual web development tools

Dreamweaver Mac version
Visual web development tools

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Notepad++7.3.1
Easy-to-use and free code editor

Zend Studio 13.0.1
Powerful PHP integrated development environment
