Redis ialah sistem storan struktur data dalam memori sumber terbuka, selalunya digunakan untuk menyimpan data cache untuk meningkatkan prestasi aplikasi. PHP ialah bahasa skrip popular yang digunakan secara meluas dalam pembangunan aplikasi web. Artikel ini akan memperkenalkan cara menggunakan teknologi caching Redis untuk pengurusan masa tamat permintaan dalam aplikasi PHP.
Redis menyediakan sistem storan nilai kunci, di mana kunci dan nilai boleh terdiri daripada pelbagai jenis struktur data, seperti rentetan dan cincang Jadual, senarai, dsb. Redis menyimpan data dalam ingatan, jadi kelajuan capaian sangat pantas, dan sering digunakan untuk menyimpan data cache untuk mengurangkan bilangan capaian pangkalan data.
Menggunakan Redis dalam PHP memerlukan pemasangan sambungan Redis. Sambungan Redis boleh dipasang dalam persekitaran Linux melalui arahan berikut:
$ pecl install redis
Kemudian tambah baris berikut pada fail php.ini:
extension=redis.so
Dalam persekitaran Windows, sambungan Redis boleh dimuat turun dari tapak web PECL, dan letakkannya ke dalam direktori sambungan PHP. Kemudian ubah suai fail php.ini untuk mendayakan sambungan Redis.
Langkah pertama untuk menggunakan Redis ialah menyambung ke pelayan Redis. Anda boleh menggunakan kod berikut untuk mencipta objek Redis dan menyambung ke pelayan Redis tempatan:
$redis = new Redis(); $redis->connect('127.0.0.1', 6379);
Ini akan mencipta objek Redis dan menyambung ke pelayan Redis tempatan pada port 6379. Selepas menyambung ke pelayan Redis, anda boleh mula melakukan pelbagai operasi, seperti menetapkan pasangan nilai kunci, mendapatkan nilai, memadamkan nilai, dsb.
Apabila menyimpan data dalam cache, biasanya perlu menentukan masa tamat tempoh. Jika data tidak lagi digunakan selepas satu tempoh masa, ia boleh dialih keluar secara automatik daripada cache untuk mengosongkan ruang cache. Redis membolehkan anda menentukan masa tamat tempoh untuk setiap kunci untuk memastikan bahawa data tamat tempoh dipadamkan dalam masa. Anda boleh menggunakan perintah EXPIRE Redis untuk menetapkan masa tamat tempoh kunci, seperti yang ditunjukkan di bawah:
$redis->set('mykey', 'myvalue'); $redis->expire('mykey', 60); //设置过期时间为60秒
Kod di atas menetapkan nilai untuk kunci mykey dan menetapkan masa tamat tempoh untuk kunci kepada 60 saat . Dalam masa 60 saat, nilai kunci boleh diperolehi melalui arahan get. Jika atas apa-apa sebab kunci tidak diakses dalam masa 60 saat, kunci itu akan dialih keluar secara automatik daripada cache.
Selain menggunakan perintah tamat tempoh untuk menetapkan masa tamat tempoh, anda juga boleh menggunakan perintah pexpire untuk menetapkan masa tamat tempoh dalam milisaat, dan perintah tamat tempoh untuk menetapkan masa tamat tempoh kunci kepada cap masa UNIX .
Dalam aplikasi PHP, anda boleh menggunakan perintah set dan tamat tempoh untuk menyimpan hasil permintaan dalam cache Redis dan menetapkan masa tamat tempoh yang sesuai. Jika hasil yang diminta sudah ada dalam cache, ia boleh diambil terus daripada cache tanpa melakukan pertanyaan pangkalan data yang memakan masa. Contohnya, kod berikut menunjukkan cara untuk menyimpan hasil pertanyaan pangkalan data dalam cache Redis dan menetapkan masa tamat tempoh:
$key = 'hash:' . $query; //生成缓存键 if ($redis->exists($key)) { //从缓存中获取结果 return unserialize($redis->get($key)); } else { //执行数据库查询 $result = ... //执行数据库查询代码 //将结果存储在Redis缓存中,并设置过期时间 $redis->set($key, serialize($result)); $redis->expire($key, $expiration); //返回查询结果 return $result; }
Kod di atas menyimpan hasil pertanyaan pangkalan data dalam jadual cincang Redis bernama "hash:query" tengah . Jika data sudah wujud dalam jadual cincang itu, anda boleh mendapatkannya terus daripada jadual cincang. Jika tidak, pertanyaan pangkalan data dilaksanakan, hasilnya bersiri dan disimpan dalam jadual cincang Redis, dan jadual cincang ditetapkan dengan masa tamat tempoh yang sesuai. Pada kali berikutnya data yang sama diminta, keputusan boleh diperolehi daripada cache Redis tanpa menanyakan pangkalan data lagi.
Menggunakan teknologi caching Redis boleh meningkatkan prestasi aplikasi PHP dengan ketara. Menggunakan Redis dalam aplikasi PHP, anda boleh mengurus data cache dan memaksimumkan penggunaan memori cache dengan menetapkan masa tamat tempoh. Dengan menyimpan data dalam cache Redis, anda boleh mengurangkan bilangan akses kepada pangkalan data dan mempercepatkan masa tindak balas aplikasi anda.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan teknologi caching Redis untuk pengurusan masa tamat permintaan dalam aplikasi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!