목차
Memcached,memcached安装
php教程 php手册 Memcached,memcached安装

Memcached,memcached安装

Jun 13, 2016 am 09:05 AM
memcached

Memcached,memcached安装

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

存储方式:

为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。

使用技巧:

许多语言都实现了连接memcached的客户端,其中以Perl、PHP为主。

一、这里介绍windows环境的安装。

1、下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached

2、在cmd下输入 'c:\memcached\memcached.exe -d install' 安装

3、再输入: 'c:\memcached\memcached.exe -d start' 启动。

以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。

4、很简单。不过还没完,你只是安装了一个memcached caching server,还没有和php建立关联。所以在php程序里还不能运用。

由于我的php版本是5.2.17的,下载的php_memcache.dll也要是对应的。如果你的php是5.3+的,可以在这里下载

 php_memcache-cvs-20090703-5.3-nts-VC6-x86.zip

安装与平时添加扩展完全一样,把dll文件拷到你的php目录的ext目录下,然后,

在php.ini中添加extension=php_memcache.dll,重启服务器,在phpinfo里面就应该可以看到配置信息。

二、CentOS 下的安装

安装 yum -y install memcached

设置为开机启动 chkconfig --level 2345 memcached on

启动和停止 /etc/init.d/memcached start|stop

补充:如果安装缺少其他支持,可以:

yum groupinstall "Development Tools"

常用操作

Memcache::add                 添加一个值,如果已经存在,则返回false 

Memcache::addServer           添加一个可供使用的服务器地址 

Memcache::close                关闭一个Memcache对象 

Memcache::connect             创建一个Memcache对象 

Memcache::debug              控制调试功能 

Memcache::decrement          对保存的某个key中的值进行减法操作 

Memcache::delete              删除一个key值 

Memcache::flush                清除所有缓存的数据 

Memcache::get                 获取一个key值 

Memcache::getExtendedStats   获取进程池中所有进程的运行系统统计 

Memcache::getServerStatus     获取运行服务器的参数 

Memcache::getStats            返回服务器的一些运行统计信息 

Memcache::getVersion               返回运行的Memcache的版本信息 

Memcache::increment                对保存的某个key中的值进行加法操作 

Memcache::pconnect                 创建一个Memcache的持久连接对象 

Memcache::replace                   R对一个已有的key进行覆写操作 

Memcache::set                       添加一个值,如果已经存在,则覆写 

Memcache::setCompressThreshold    对大于某一大小的数据进行压缩 

Memcache::setServerParams          在运行时修改服务器的参数  

<?<span>php  
</span><span>//</span><span>连接Memcache  </span>
<span>$mem</span> = <span>new</span><span> Memcache;  
</span><span>$mem</span>->connect("localhost", 11211<span>);  
</span><span>//</span><span>保存数据  </span>
<span>$mem</span>->set('key1', 'This is first value', 0, 60<span>);  
</span><span>$val</span> = <span>$mem</span>->get('key1'<span>);  
</span><span>echo</span> "Get key1 value: " . <span>$val</span> ."<br>"<span>;  
</span><span>//</span><span>替换数据  </span>
<span>$mem</span>->replace('key1', 'This is replace value', 0, 60<span>);  
</span><span>$val</span> = <span>$mem</span>->get('key1'<span>);  
</span><span>echo</span> "Get key1 value: " . <span>$val</span> . "<br>"<span>;  
</span><span>//</span><span>保存数组数据  </span>
<span>$arr</span> = <span>array</span>('aaa', 'bbb', 'ccc', 'ddd'<span>);  
</span><span>$mem</span>->set('key2', <span>$arr</span>, 0, 60<span>);  
</span><span>$val2</span> = <span>$mem</span>->get('key2'<span>);  
</span><span>echo</span> "Get key2 value: "<span>;  
</span><span>print_r</span>(<span>$val2</span><span>);  
</span><span>echo</span> "<br>"<span>;  
</span><span>//</span><span>删除数据  </span>
<span>$mem</span>->delete('key1'<span>);  
</span><span>$val</span> = <span>$mem</span>->get('key1'<span>);  
</span><span>echo</span> "Get key1 value: " . <span>$val</span> . "<br>"<span>;  
</span><span>//</span><span>清除所有数据  </span>
<span>$mem</span>-><span>flush</span><span>();  
</span><span>$val2</span> = <span>$mem</span>->get('key2'<span>);  
</span><span>echo</span> "Get key2 value: "<span>;  
</span><span>print_r</span>(<span>$val2</span><span>);  
</span><span>echo</span> "<br>"<span>;  
</span><span>//</span><span>关闭连接  </span>
<span>$mem</span>-><span>close();  
</span>?>  
로그인 후 복사

memcached 的工作原理:

首先 memcached 是以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,客户端可以由各种语言编写,目前已知的客户端 API 包括 Perl/PHP/Python/Ruby/Java/C#/C 等等。

PHP 等客户端在与 memcached 服务建立连接之后,接下来的事情就是存取对象了,每个被存取的对象都有一个唯一的标识符 key,存取操作均通过这个 key 进行,保存到 memcached 中的对象实际上是放置内存中的,并不是保存在 cache 文件中的,这也是为什么 memcached 能够如此高效快速的原因。注意,这些对象并不是持久的,服务停止之后,里边的数据就会丢失。

memcachedb:

MemcacheDB是一个分布式、key-value形式的持久存储系统。它不是一个缓存组件,而是一个基于对象存取的、可靠的、快速的持久存储引擎。协议跟memcache一致(不完整),所以很多memcached客户端都可以跟它连接。MemcacheDB采用Berkeley DB作为持久存储组件,故很多Berkeley DB的特性的他都支持。

我们是站在巨人的肩膀上的。MemcacheDB的前端缓存是Memcached

前端:memcached的网络层

后端:BerkeleyDB存储

 

memcached和smarty的关系及区别是什么啊?

Memcache是一个高性能的分布式的内存对象缓存系统,把缓存记录到内存的系统.。

例如,从数据库中获取列表显示,但并不想每次都读取数据库,这样就需要用到缓存,而memcache就是其中的一种,它是把记录保存在内存中使用

例如要重db获取数据显示出来,  db -> memcache -> client

首先先判断memcache有没有数据,如果没有则读取DB,然后把db获取到的记录保存在memcache

下次再需要读取记录时,就可以直接在memcache中读取,这样就可以分担数据库的负担,而且速度快很多。

Smarty是一个使用PHP写出来的模板引擎,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计。

smarty是运行在MVC结构的view中。

例如 php 我们要显示一个变量,需要这样写 echo $a;

而用smarty则需要这样写 {$a} ,经过编译后,会自动显示出 echo $a;,是一样的,smarty中的缓存,php要运行后,才可以输出到浏览器,php运行生成html输出是需要运算的,而smarty则会把之前运行过的php生成后的html保存起来,如果再调用这个php则会直接输出之前的html.起到缓存作用。

memcache 和 smarty没有关系,两者作用是不一样的,没有联系的。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Memcached 캐싱 기술은 PHP의 세션 처리를 최적화합니다. Memcached 캐싱 기술은 PHP의 세션 처리를 최적화합니다. May 16, 2023 am 08:41 AM

Memcached는 웹 애플리케이션의 성능을 크게 향상시킬 수 있는 일반적으로 사용되는 캐싱 기술입니다. PHP에서 일반적으로 사용되는 세션 처리 방법은 세션 파일을 서버의 하드 디스크에 저장하는 것입니다. 그러나 이 방법은 서버의 하드 디스크가 성능 병목 현상 중 하나가 되기 때문에 최적이 아닙니다. Memcached 캐싱 기술을 사용하면 PHP에서 세션 처리를 최적화하고 웹 애플리케이션의 성능을 향상시킬 수 있습니다. PHP 세션

PHP8.0의 캐싱 라이브러리: Memcached PHP8.0의 캐싱 라이브러리: Memcached May 14, 2023 am 08:16 AM

PHP8.0의 캐싱 라이브러리: Memcached 인터넷의 급속한 발전으로 인해 최신 애플리케이션에는 성능을 향상하고 대용량 데이터를 처리하기 위해 효율적이고 안정적인 캐싱 기술이 필요합니다. PHP의 인기와 오픈 소스 특성으로 인해 PHP 캐싱 라이브러리는 웹 개발 커뮤니티에서 필수적인 도구가 되었습니다. Memcached는 수백만 개의 동시 연결된 캐시 요청을 처리할 수 있고 소셜 네트워크, 온라인 등 다양한 유형의 애플리케이션에서 사용할 수 있는 널리 사용되는 오픈 소스 고속 메모리 캐싱 시스템입니다.

Memcached 캐싱 기술을 사용하여 PHP 애플리케이션 CPU 사용량을 최적화하는 방법은 무엇입니까? Memcached 캐싱 기술을 사용하여 PHP 애플리케이션 CPU 사용량을 최적화하는 방법은 무엇입니까? Jun 21, 2023 pm 05:07 PM

인터넷이 발전하면서 PHP 애플리케이션은 인터넷 애플리케이션 분야에서 점점 더 보편화되었습니다. 그러나 PHP 애플리케이션의 동시 액세스가 높으면 서버의 CPU 사용량이 높아져 애플리케이션 성능에 영향을 줄 수 있습니다. PHP 애플리케이션의 성능을 최적화하기 위해서는 Memcached 캐싱 기술이 좋은 선택이 되었습니다. 이 기사에서는 Memcached 캐싱 기술을 사용하여 PHP 애플리케이션의 CPU 사용량을 최적화하는 방법을 소개합니다. Memcached 캐싱 기술 소개 Memcached는

PHP 및 Memcached 데이터베이스 백업 및 복구 PHP 및 Memcached 데이터베이스 백업 및 복구 May 15, 2023 pm 09:12 PM

인터넷의 급속한 발전으로 인해 대규모 MySQL 데이터베이스 백업 및 복구는 주요 기업과 웹사이트에 필요한 기술 중 하나가 되었습니다. Memcached가 널리 적용되면서 Memcached를 백업하고 복원하는 방법도 중요한 문제가 되었습니다. 웹 개발의 주요 언어 중 하나인 PHP는 MySQL 및 Memcached의 백업 및 복구를 처리하는 데 있어 고유한 장점과 기술을 가지고 있습니다. 이 기사에서는 PHP에서 MySQL을 처리하고 Memcached 백업 및 복구를 수행하는 방법을 자세히 소개합니다.

Memcached 캐싱 기술을 사용하여 PHP에서 오디오 및 비디오 재생 최적화 Memcached 캐싱 기술을 사용하여 PHP에서 오디오 및 비디오 재생 최적화 May 17, 2023 pm 04:01 PM

인터넷 기술의 지속적인 발전으로 오디오 및 비디오 리소스는 인터넷상의 매우 중요한 콘텐츠 형태가 되었으며, 네트워크 개발에서 가장 널리 사용되는 언어 중 하나인 PHP는 비디오 분야에서도 지속적으로 사용되고 있습니다. 그리고 오디오 재생. 그러나 오디오 및 비디오 웹사이트의 사용자 수가 증가함에 따라 많은 웹사이트에서 문제를 발견했습니다. 높은 동시성 조건에서 PHP의 오디오 및 비디오 처리 속도가 크게 느려져 제 시간에 재생할 수 없거나 재생이 중단되는 등의 문제가 발생합니다. . 이 문제를 해결하려면 Memcached 캐싱 기술이 필요합니다.

PHP 및 Memcached를 사용한 캐시 관리 PHP 및 Memcached를 사용한 캐시 관리 May 23, 2023 pm 02:21 PM

네트워크 애플리케이션의 지속적인 증가와 데이터 볼륨의 지속적인 확장으로 인해 데이터 읽기 및 쓰기 효율성은 애플리케이션 성능에 영향을 미치는 중요한 요소 중 하나가 되었습니다. 캐싱 기술을 적용하면 이 문제를 잘 해결할 수 있습니다. PHP 애플리케이션에서 Memcached는 가장 일반적으로 사용되는 캐시 서버입니다. Memcached는 일반적으로 사용되는 데이터를 메모리에 저장하고 데이터 검색 효율성을 향상시킬 수 있는 고성능 분산 메모리 개체 캐싱 시스템입니다. 이 기사에서는 캐시 관리를 위해 PHP와 Memcached를 사용하는 방법과 최적화 방법을 소개합니다.

PHP 및 Memcached 성능 모니터링 PHP 및 Memcached 성능 모니터링 May 15, 2023 pm 09:51 PM

현대 인터넷 애플리케이션의 급속한 발전으로 인해 사용자 경험은 애플리케이션의 성공에 매우 중요합니다. 애플리케이션의 고성능 및 고가용성을 보장하는 방법은 개발자가 해결해야 하는 중요한 문제 중 하나가 되었습니다. 널리 사용되는 프로그래밍 언어 중 하나인 PHP의 성능 모니터링 및 최적화도 매우 중요합니다. Memcached는 애플리케이션의 성능과 확장성을 향상시키는 데 도움이 되는 고성능 분산 메모리 개체 캐싱 시스템입니다. 이 기사에서는 PHP와 Memcached를 사용하여 성능 모니터링을 구현하는 방법을 소개합니다.

Pagoda 패널을 사용하여 Redis 및 Memcached와 같은 캐시 서버 배포 Pagoda 패널을 사용하여 Redis 및 Memcached와 같은 캐시 서버 배포 Jun 21, 2023 am 09:56 AM

인터넷이 발전하면서 캐싱 기술은 웹 개발에서 점점 더 중요한 역할을 하고 있습니다. 널리 사용되는 캐시 서버인 Redis와 Memcached는 다양한 웹 애플리케이션 개발에 널리 사용됩니다. 그러나 Linux 시스템에 익숙하지 않은 개발자의 경우 이러한 캐시 서버를 설치하고 구성하면 문제가 발생할 수 있습니다. 그러나 Pagoda Panel을 사용하면 이 프로세스가 매우 간단해집니다. 1. 파고다 패널이란 무엇입니까? Pagoda 패널은 Linux 서버 관리 패널입니다.

See all articles