Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan Memcached untuk cache data dalam pembangunan PHP

Cara menggunakan Memcached untuk cache data dalam pembangunan PHP

王林
王林asal
2023-06-27 09:48:58702semak imbas

Dengan pembangunan berterusan aplikasi Internet, penyimpanan data dan capaian telah menjadi pautan yang sangat penting dalam pembangunan aplikasi. Banyak kali, kami perlu menyimpan data dalam cache dalam aplikasi untuk meningkatkan prestasi aplikasi, kelajuan tindak balas dan pengalaman pengguna. Artikel ini akan memperkenalkan cara menggunakan Memcached untuk cache data dalam pembangunan PHP untuk meningkatkan prestasi aplikasi.

Memcached ialah sistem caching memori teragih berprestasi tinggi. Ia menyimpan data dalam memori supaya ia boleh dibaca dan ditulis dengan cepat. Dalam pembangunan PHP, kami sering menggunakan Memcached untuk cache keputusan pengiraan, keputusan pertanyaan pangkalan data dan data lain untuk meningkatkan kelajuan dan prestasi tindak balas aplikasi.

Pasang dan konfigurasikan Memcached

Sebelum kita mula menggunakan Memcached untuk cache data, kita perlu memasang dan mengkonfigurasi Memcached terlebih dahulu. Dalam sistem Linux, kita boleh menggunakan arahan berikut untuk memasang Memcached:

sudo apt-get update
sudo apt-get install memcached

Selepas pemasangan selesai, kita juga perlu memasang sambungan PHP Memcached. Dalam sistem Ubuntu, kita boleh menggunakan arahan berikut untuk memasang sambungan PHP Memcached:

sudo apt-get install php-memcached

Selepas pemasangan selesai, tambahkan konfigurasi berikut dalam fail konfigurasi php.ini:

extension=memcached.so

Kemudian mulakan semula perkhidmatan Apache atau PHP-FPM perkhidmatan untuk membuat konfigurasi berkuat kuasa.

Data cache menggunakan Memcached

Data cache menggunakan Memcached adalah sangat mudah. Kami hanya perlu menggunakan fungsi yang disediakan oleh sambungan Memcached untuk beroperasi. Berikut ialah contoh menggunakan Memcached untuk cache data:

<?php

// 连接到 Memcached 服务器
$memcached = new Memcached();
$memcached->addServer('localhost', 11211);

// 将数据缓存到 Memcached 中
$memcached->set('key', 'value', 10); // 缓存 10 秒

// 从 Memcached 中读取数据
$value = $memcached->get('key');
if ($value === false) {
    // 缓存不存在,从数据库中查询数据
    $value = 'data from database';
    
    // 将从数据库中查询的数据缓存到 Memcached 中
    $memcached->set('key', $value, 10);
}

echo $value;

Dalam contoh di atas, kami mula-mula mencipta contoh Memcached dan menambah pelayan Memcached. Kemudian kami menyimpan data dalam Memcached dalam bentuk nilai kunci dan menetapkan masa tamat tempoh data kepada 10 saat. Apabila kami perlu mengakses data ini, kami terlebih dahulu menanyakan data daripada Memcached. Jika data tidak wujud, kami menanyakan data daripada pangkalan data dan cache hasil pertanyaan dalam Memcached.

Penggunaan lanjutan Memcached

Dalam pembangunan sebenar, kami juga boleh menggunakan beberapa ciri lanjutan Memcached untuk mengoptimumkan prestasi aplikasi kami. Berikut ialah beberapa penggunaan lanjutan biasa:

  • Sediakan berbilang pelayan: Data boleh diedarkan antara berbilang pelayan Memcached untuk meningkatkan toleransi kesalahan aplikasi dan prestasi.
  • Pensirilan tersuai dan penyahsirilan: Kaedah pensirilan dan pensirisian data boleh disesuaikan untuk disesuaikan dengan jenis dan struktur data yang berbeza.
  • Operasi kelompok: Anda boleh membaca dan menulis berbilang keping data dalam kelompok untuk meningkatkan prestasi membaca dan menulis data.
  • Failover automatik: Anda boleh menetapkan strategi failover automatik untuk beralih ke pelayan lain secara automatik apabila pelayan rosak.
<?php

// 连接到多个 Memcached 服务器
$memcached = new Memcached();
$memcached->addServers([
    ['host1', 11211],
    ['host2', 11211]
]);

// 自定义序列化和反序列化方法
$memcached->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_IGBINARY);
$memcached->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_JSON);

// 批量操作
$values = [
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
];
$memcached->setMulti($values);

// 自动失败转移
$memcached->setOption(Memcached::OPT_CONNECT_TIMEOUT, 100);
$memcached->setOption(Memcached::OPT_DISTRIBUTION, Memcached::DISTRIBUTION_CONSISTENT);
$memcached->setOption(Memcached::OPT_SERVER_FAILURE_LIMIT, 5);
$memcached->setOption(Memcached::OPT_RETRY_TIMEOUT, 2);

Ringkasan

Menggunakan Memcached untuk cache data boleh meningkatkan prestasi dan kelajuan tindak balas aplikasi anda. Dalam pembangunan PHP, kita boleh menggunakan sambungan PHP Memcached untuk melaksanakan caching data. Dalam proses menggunakan Memcached, kami juga boleh menggunakan beberapa ciri lanjutan untuk mengoptimumkan lagi prestasi aplikasi kami.

Atas ialah kandungan terperinci Cara menggunakan Memcached untuk cache data dalam pembangunan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn