Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan Memcache untuk mencapai operasi caching dan penyimpanan data yang cekap dalam pembangunan PHP?

Bagaimana untuk menggunakan Memcache untuk mencapai operasi caching dan penyimpanan data yang cekap dalam pembangunan PHP?

WBOY
WBOYasal
2023-11-07 13:55:59777semak imbas

Bagaimana untuk menggunakan Memcache untuk mencapai operasi caching dan penyimpanan data yang cekap dalam pembangunan PHP?

Memcache ialah sistem caching berasaskan memori yang boleh digunakan untuk cache data biasa yang perlu dibaca dengan kerap, seperti hasil pertanyaan pangkalan data, respons API, dsb. Dalam pembangunan PHP, menggunakan Memcache boleh meningkatkan prestasi aplikasi dengan ketara. Artikel ini akan memperkenalkan cara menggunakan Memcache dalam pembangunan PHP untuk mencapai operasi penyimpanan dan penyimpanan data yang cekap, dan memberikan anda contoh kod khusus.

  1. Pasang dan konfigurasikan Memcache

Sebelum menggunakan Memcache, anda perlu memasang dan mengkonfigurasi sambungan dan pelayan Memcache. Anda boleh memasang sambungan Memcache untuk PHP menggunakan arahan sudo apt-get install php-memcached. sudo apt-get install php-memcached 安装 PHP 的 Memcache 扩展。

安装完扩展后,就需要配置 Memcache 服务器了。一般情况下,Memcache 服务器会在服务器端运行,需要将服务器的 IP 地址和端口号告诉客户端应用程序。在 PHP 程序中,可以使用如下代码进行连接:

$memcache = new Memcached();
$memcache->addServer('127.0.0.1', '11211');

其中,127.0.0.1 是 Memcache 服务器的 IP 地址,11211 是默认的 Memcache 端口号。

  1. 存储数据

使用 Memcache 存储数据非常简单,只需使用 set 函数即可。比如,我们可以将数据库查询结果存储到 Memcache 中,下次查询时再从 Memcache 中获取。具体的代码示例如下:

// 建立一个数据库连接
$conn = mysqli_connect('localhost', 'username', 'password', 'database');
if (!$conn) {
    die('Could not connect: ' . mysqli_error());
}

// 查询数据
$sql = "SELECT id, name, age FROM users WHERE id=1";
$result = mysqli_query($conn, $sql);

// 将结果存储到 Memcache 中
$memcache->set('user_1', $result, 3600); // 过期时间为 3600 秒

// 关闭数据库连接
mysqli_close($conn);

上述代码中,我们查询了数据库的 users 表中 id 为 1 的记录,将结果存储到名为 user_1 的缓存键中,过期时间为 3600 秒。这样,下次查询时,我们就可以直接从 Memcache 缓存中获取结果,而不需要再次查询数据库。

  1. 获取数据

要从 Memcache 中获取数据,只需使用 get 函数即可。如果缓存中不存在指定的键,则返回 false。具体的代码示例如下:

// 从 Memcache 中获取数据
$result = $memcache->get('user_1');

// 如果数据不存在,则查询数据库并存储到 Memcache 中
if ($result === false) {
    $conn = mysqli_connect('localhost', 'username', 'password', 'database');
    if (!$conn) {
        die('Could not connect: ' . mysqli_error());
    }

    $sql = "SELECT id, name, age FROM users WHERE id=1";
    $result = mysqli_query($conn, $sql);

    $memcache->set('user_1', $result, 3600);

    mysqli_close($conn);
}

// 输出查询结果
while ($row = mysqli_fetch_assoc($result)) {
    echo $row['id'] . ' ' . $row['name'] . ' ' . $row['age'] . '<br />';
}

上述代码中,我们首先从 Memcache 缓存中获取名为 user_1 的数据。如果数据不存在,则查询数据库并存储到 Memcache 中,然后再输出查询结果。

  1. 删除数据

有时候,需要手动删除 Memcache 缓存中的某个键,可以使用 delete 函数实现。具体的代码示例如下:

// 删除缓存中名为 user_1 的键
$memcache->delete('user_1');

上述代码中,我们删除了名为 user_1

Selepas memasang sambungan, anda perlu mengkonfigurasi pelayan Memcache. Biasanya, pelayan Memcache akan berjalan di bahagian pelayan, dan alamat IP pelayan serta nombor port perlu diberitahu kepada aplikasi klien. Dalam program PHP, anda boleh menggunakan kod berikut untuk menyambung:

rrreee

di mana, 127.0.0.1 ialah alamat IP pelayan Memcache dan 11211 ialah lalai Nombor port memcache. 🎜
    🎜Menyimpan data🎜🎜🎜Menggunakan Memcache untuk menyimpan data adalah sangat mudah, hanya gunakan fungsi set. Sebagai contoh, kami boleh menyimpan hasil pertanyaan pangkalan data dalam Memcache dan mendapatkannya daripada Memcache pada kali seterusnya kami membuat pertanyaan. Contoh kod khusus adalah seperti berikut: 🎜rrreee🎜Dalam kod di atas, kami menanyakan rekod dengan id sebagai 1 dalam jadual users pangkalan data dan menyimpan hasilnya dalam fail bernama Kunci cache untuk pengguna_1 mempunyai masa tamat tempoh selama 3600 saat. Dengan cara ini, pada kali seterusnya kami membuat pertanyaan, kami boleh mendapatkan keputusan terus dari cache Memcache tanpa menanyakan pangkalan data lagi. 🎜
      🎜Dapatkan data🎜🎜🎜Untuk mendapatkan data daripada Memcache, hanya gunakan fungsi get. Jika kunci yang ditentukan tidak wujud dalam cache, false dikembalikan. Contoh kod khusus adalah seperti berikut: 🎜rrreee🎜Dalam kod di atas, kami mula-mula memperoleh data bernama user_1 daripada cache Memcache. Jika data tidak wujud, pangkalan data akan ditanya dan disimpan dalam Memcache, dan kemudian hasil pertanyaan dikeluarkan. 🎜
        🎜Padam data🎜🎜🎜Kadangkala, anda perlu memadamkan kunci secara manual dalam cache Memcache Anda boleh menggunakan fungsi delete untuk mencapainya. Contoh kod khusus adalah seperti berikut: 🎜rrreee🎜Dalam kod di atas, kami memadamkan kekunci cache bernama user_1, supaya pada kali seterusnya kami membuat pertanyaan, kami perlu mendapatkan data daripada pangkalan data sekali lagi. 🎜🎜Ringkasnya, operasi caching dan penyimpanan data yang cekap boleh dicapai dengan mudah menggunakan Memcache. Memcache boleh digunakan dalam aplikasi untuk cache data yang kerap digunakan dengan panggilan API mudah, dengan itu meningkatkan prestasi aplikasi. 🎜

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Memcache untuk mencapai operasi caching dan penyimpanan data yang cekap 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