PHP之分布式缓存memcached熟习和操作
PHP之分布式缓存memcached熟悉和操作
如今互联网崛起的时代,各大网站都面临着一个大数据流问题,怎么提高网站访问速度,减少对数据库的操作;作为PHP开发人员,我们一般能想到的方法有页面静态化处理、防盗链、CDN内容分发加速访问、mysql数据库优化建立索引、架设apache服务器集群()、还有就是现在流行的各种分布式缓存技术:如memcached/redis;
1.什么是Memcached?
a.Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
b.Memcached的键key一般是字符串,该值不能重复;value可以放入字符串、数组、数值、对象、布尔,二进制数据和图片视频
c.Memcached默认服务端口是11211
2.PHP使用Memcached步骤
准备:下载Memcached服务安装包:memcached-1.2.6-win32-bin.7z和访问Memcached服务的dll库:php_memcache.dll
www.memcached.org(官网进不去好像,可以从其他地方下载)
解压包memcached-1.2.6-win32-bin.7z(可以解压完复制放到web服务器同级目录),然后操作cmd,进入到刚才解压的目录用命令安装:memcached.exe -d install
安装完(判断是否安装完毕可以到服务列表里面查看是否有memcached服务),然后cmd用命令启动:memcached.exe -d start
具体操作如下:
启动完memcached服务后,再把下载的php_memcache.dll放到web服务器php5目录下的ext目录下
在php.ini里面修改,加载扩展库php_memcache.dll,然后重启apache服务器
开始实践,memcached主要有crud操作(即创建、读取、更新、删除值操作,具体可以查阅手册),下面弄个简单的设置值,然后读取值的操作
a.设置值页面
<?phpheader ("Content-type:text/html;charset=utf-8");//创建Memcache对象$mem = new Memcache(); //连接Memcache服务器if(!$mem->connect("127.0.0.1")) { echo "连接Memcache服务器失败!";}//设置,'myword'参数代表键key,'hello world'代表存放的值,MEMCACHE_COMPRESSED代表压缩内容,50代表存放时间,单位秒if ($mem->set('myword','hello world',MEMCACHE_COMPRESSED,50)){ echo "设置值成功!";}?>
b.读取值页面
<?phpheader ("Content-type:text/html;charset=utf-8");$mem = new Memcache(); if(!$mem->connect("127.0.0.1")) { echo "连接Memcache服务器失败!";}//读取键myword值$value = $mem->get('myword');if(!$value){ echo "读取失败!";}else{ echo "读取的值=".$value;}
c.删除、更新例子:
<?phpheader ("Content-type:text/html;charset=utf-8");//创建Memcache对象$mem = new Memcache(); //连接Memcache服务器if(!$mem->connect("127.0.0.1")) { echo "连接Memcache服务器失败!";}//设置,'myword'参数代表键key,'hello world'代表存放的值,MEMCACHE_COMPRESSED代表压缩内容,50代表存放时间,单位秒if ($mem->set('myword','hello world',MEMCACHE_COMPRESSED,50)){ echo "设置值成功!";}//读取键myword值$value = $mem->get('myword');if(!$value){ echo "读取失败!";}else{ echo "读取的值=".$value;}//更新键值$mem->replace('myword','hello everybody!');$value = $mem->get('myword');if(!$value){ echo "读取失败!";}else{ echo "读取的值=".$value;}//删除键myword值$mem->delete('myword');$value = $mem->get('myword');if(!$value){ echo "读取失败!";}else{ echo "读取的值=".$value;}//关闭$mem->close(); ?>
注:mem对象下还有许多方法,可以通过翻阅手册了解。
多个memcached服务器设置,其实就比一个memcached服务器改变一点点,就是把多个memcached的服务器通过方法addserver添加到连接池中,这样设置完后,crud操作时,内部就会通过相应算法均衡连接相应服务器并执行相应操作中。
<?phpheader ("Content-type:text/html;charset=utf-8");//创建Memcache对象$mem = new Memcache(); //添加多台memcached服务器$mem->addserver('192.168.0.1',11211); $mem->addserver('192.168.0.2',11211);$mem->addserver('192.168.0.3',11211);$mem->addserver('192.168.0.4',11211);//设置,'myword'参数代表键key,'hello world'代表存放的值,MEMCACHE_COMPRESSED代表压缩内容,50代表存放时间,单位秒if ($mem->set('myword','hello world',MEMCACHE_COMPRESSED,50)){ echo "设置值成功!";}//读取键myword值$value = $mem->get('myword');if(!$value){ echo "读取失败!";}else{ echo "读取的值=".$value;}?>
memcache的访问是无用户状态,安全性需要考虑,一般通过放在内网,并通过防火墙限制外网访问memcache端口来达到安全
通过修改php.ini,可以把session的值放入memcache服务器中
session.save_handler = files改成session.save_handler = memcached
session.save_path = "N;MODE;/path"改成 session.save_path = "tcp://127.0.0.1:11211"

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Dalam pembangunan web, kita selalunya perlu menggunakan teknologi caching untuk meningkatkan prestasi tapak web dan kelajuan tindak balas. Memcache ialah teknologi caching popular yang boleh menyimpan sebarang jenis data dan menyokong konkurensi tinggi dan ketersediaan tinggi. Artikel ini akan memperkenalkan cara menggunakan Memcache dalam pembangunan PHP dan memberikan contoh kod khusus. 1. Pasang Memcache Untuk menggunakan Memcache, pertama sekali kita perlu memasang sambungan Memcache pada pelayan. Dalam sistem pengendalian CentOS, anda boleh menggunakan arahan berikut

Dengan perkembangan Internet, aplikasi PHP telah menjadi lebih biasa dalam bidang aplikasi Internet. Walau bagaimanapun, capaian serentak yang tinggi oleh aplikasi PHP boleh menyebabkan penggunaan CPU yang tinggi pada pelayan, sekali gus menjejaskan prestasi aplikasi. Untuk mengoptimumkan prestasi aplikasi PHP, teknologi caching Memcached telah menjadi pilihan yang baik. Artikel ini akan memperkenalkan cara menggunakan teknologi caching Memcached untuk mengoptimumkan penggunaan CPU aplikasi PHP. Pengenalan kepada teknologi caching Memcached Memcached ialah a

Dalam pembangunan PHP, menggunakan sistem caching Memcache boleh meningkatkan kecekapan membaca dan menulis data. Memcache ialah sistem caching berasaskan memori yang boleh cache data dalam ingatan untuk mengelakkan pembacaan dan penulisan pangkalan data yang kerap. Artikel ini akan memperkenalkan cara menggunakan Memcache dalam PHP untuk operasi membaca dan menulis data yang cekap, dan menyediakan contoh kod khusus. 1. Pasang dan konfigurasikan Memcache Mula-mula, anda perlu memasang sambungan Memcache pada pelayan. boleh lulus

Bagaimana untuk menggunakan Memcache untuk menulis data dan pertanyaan yang cekap dalam pembangunan PHP? Dengan pembangunan berterusan aplikasi Internet, keperluan untuk prestasi sistem semakin tinggi dan lebih tinggi. Dalam pembangunan PHP, untuk meningkatkan prestasi sistem dan kelajuan tindak balas, kami sering menggunakan pelbagai teknologi caching. Salah satu teknologi caching yang biasa digunakan ialah Memcache. Memcache ialah sistem caching objek memori teragih berprestasi tinggi yang boleh digunakan untuk cache hasil pertanyaan pangkalan data, serpihan halaman, data sesi, dsb. Dengan menyimpan data dalam ingatan

Apabila aplikasi web menjadi semakin kompleks, prestasi telah menjadi isu kritikal. Dalam banyak aplikasi, pertanyaan pangkalan data adalah salah satu operasi yang paling memakan masa. Untuk mengelakkan kerap membaca data daripada pangkalan data, anda boleh menggunakan sistem caching untuk menyimpan data yang kerap dibaca dalam ingatan untuk akses pantas. Dalam pembangunan PHP, menggunakan Memcached untuk caching teragih adalah amalan yang sangat biasa Dalam artikel ini kami akan memperkenalkan cara menggunakan Memcached untuk caching teragih. Apa itu Memca

Bagaimana untuk menggunakan Memcache untuk mengoptimumkan operasi penyimpanan data dalam aplikasi PHP anda? Dalam pembangunan aplikasi web, penyimpanan data adalah pautan yang penting. Dalam aplikasi PHP, Memcache, sebagai sistem cache memori, boleh meningkatkan kecekapan penyimpanan data dan operasi membaca dengan berkesan. Artikel ini akan memperkenalkan cara menggunakan Memcache untuk mengoptimumkan operasi penyimpanan data dalam aplikasi PHP, dan melampirkan contoh kod tertentu. Langkah 1: Pasang sambungan Memcache Mula-mula, anda perlu memasang Saya dalam persekitaran PHP anda

PHP ialah bahasa pengaturcaraan yang sangat popular yang biasa digunakan untuk pembangunan aplikasi web sebelah pelayan. Memandangkan skala pengguna aplikasi web terus berkembang dan jumlah data terus meningkat, operasi caching dan pengisihan data yang cekap menjadi semakin penting. Memcache adalah alat yang sangat berguna dalam situasi ini. Artikel ini akan memperkenalkan cara menggunakan Memcache untuk mencapai operasi caching dan pengisihan data yang cekap dalam pembangunan PHP, dan menyediakan contoh kod khusus. Apa itu Memcache? Memcache adalah

Dengan perkembangan Internet, teknologi caching memainkan peranan yang semakin penting dalam pembangunan Web. Redis dan Memcached, dua pelayan cache yang popular, digunakan secara meluas dalam pelbagai pembangunan aplikasi web. Walau bagaimanapun, bagi pembangun yang tidak biasa dengan sistem Linux, memasang dan mengkonfigurasi pelayan cache ini boleh menyebabkan beberapa masalah. Walau bagaimanapun, dengan bantuan Panel Pagoda, proses ini akan menjadi agak mudah. 1. Apakah panel pagoda? Panel Pagoda ialah panel pengurusan pelayan Linux yang boleh
