Redis ialah pangkalan data nilai kunci berasaskan memori berprestasi tinggi yang boleh digunakan dalam pelbagai senario seperti caching dan beratur. PHP ialah bahasa pembangunan yang boleh digunakan dalam pelbagai senario seperti pembangunan web dan perkhidmatan back-end. Jika kita boleh menggabungkan PHP dan Redis, kita boleh mencapai prestasi dan kesan yang lebih baik.
Artikel ini akan memperkenalkan cara menggunakan PHP untuk mengendalikan pangkalan data Redis, termasuk operasi asas Redis (seperti penyimpanan dan pembacaan data, penggunaan senarai, jadual cincang dan jenis data lain), serta beberapa teknik lanjutan (seperti transaksi Redis, ketekunan, pengelompokan, dsb.).
1. Pasang sambungan Redis dan sambungkan ke pangkalan data Redis
Sebelum memulakan operasi, anda perlu memastikan sambungan phpredis telah dipasang dalam persekitaran PHP anda. Ia boleh dipasang melalui arahan berikut:
pecl install redis
Selepas pemasangan selesai, anda perlu menambah konfigurasi berikut pada fail php.ini:
extension=redis.so
Kemudian mulakan semula perkhidmatan PHP, dan anda boleh menggunakan sambungan Redis dalam kod PHP .
Seterusnya, kita perlu menyambung ke pangkalan data Redis. Anda boleh mencipta klien Redis melalui kod berikut:
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); // 连接到Redis
Di sini, kami menggunakan kaedah sambung kelas Redis untuk menyambung ke perkhidmatan Redis tempatan, dan nombor port ialah 6379 lalai. Jika anda perlu menyambung ke perkhidmatan Redis lain, anda boleh mengubah suai alamat IP dan nombor port kepada nilai yang sepadan.
2. Operasi asas Redis
Redis ialah pangkalan data nilai kunci yang boleh diakses melalui set dan dapatkan Kaedah untuk menyimpan dan membaca data:
$redis->set('name', 'Tom'); echo $redis->get('name'); // 输出:Tom
Di sini, kami menggunakan kaedah yang ditetapkan untuk mengaitkan nama nama kunci kepada rentetan dengan nilai Tom. Kemudian, gunakan kaedah get untuk mendapatkan nilai kunci nama dan keluarkannya.
Terdapat juga jenis data dalam Redis yang dipanggil senarai, yang boleh dikendalikan melalui kaedah seperti lpush dan lrange. Sebagai contoh, kita boleh mencipta senarai melalui kod berikut dan memasukkan tiga elemen ke dalam kepalanya:
$redis->lpush('list', 'a', 'b', 'c');
Kemudian, kita boleh mendapatkan semua elemen senarai melalui kaedah lrange dan mengeluarkannya:
$list = $redis->lrange('list', 0, -1); foreach ($list as $item) { echo $item . " "; } // 输出:c b a
Di sini, kami menggunakan kaedah lrange untuk mendapatkan semua elemen senarai, dan hasil yang dikembalikan ialah tatasusunan rentetan tertib.
Jenis data lain dalam Redis dipanggil jadual cincang, yang boleh dikendalikan melalui kaedah seperti hset dan hget. Sebagai contoh, kita boleh mencipta jadual cincang melalui kod berikut dan masukkan dua pasangan nilai kunci ke dalamnya:
$redis->hset('hash', 'name', 'Tom'); $redis->hset('hash', 'age', 20);
Kemudian, kita boleh mendapatkan nilai kunci dalam jadual cincang melalui kaedah dan output hget Ia:
echo $redis->hget('hash', 'name'); // 输出:Tom echo $redis->hget('hash', 'age'); // 输出:20
Di sini, kami menggunakan kaedah hget untuk mendapatkan nilai kekunci nama dan umur dalam cincang jadual cincang dan mengeluarkannya.
3. Kemahiran lanjutan Redis
Dalam Redis, operasi transaksi boleh dilakukan melalui kaedah seperti multi dan exec. Dengan cara ini, berbilang operasi boleh dilaksanakan secara keseluruhan, dan sama ada kesemuanya berjaya atau kesemuanya gagal dan ditarik balik.
Sebagai contoh, kita boleh membuat transaksi dan menambah dua operasi padanya melalui kod berikut:
$redis->multi(); $redis->set('name', 'Tom'); $redis->set('age', 20); $redis->exec();
Kemudian, kedua-dua operasi ini akan dilaksanakan secara keseluruhan, Jika ralat berlaku dalam mana-mana daripada operasi ini, keseluruhan transaksi akan ditarik balik.
Redis menyokong dua kaedah kegigihan, iaitu RDB dan AOF. RDB ialah sejenis kegigihan syot kilat, yang boleh menyimpan data secara berkala dalam memori Redis ke cakera dalam bentuk syot kilat. AOF ialah kegigihan berasaskan tambahan yang boleh merekodkan semua operasi tulis yang dilakukan oleh Redis dan menyimpannya ke cakera dalam bentuk log.
Anda boleh menggunakan kod berikut untuk mengkonfigurasi mod kegigihan Redis:
$redis->config('set', 'save "900 1" "300 10"'); // RDB持久化配置 $redis->config('set', 'appendonly yes'); // AOF持久化配置
Di sini, kami menggunakan kaedah konfigurasi untuk menetapkan mod kegigihan Redis, tetapkan selang kegigihan RDB kepada 900 saat , dan Simpan fail RDB pada cakera buka kegigihan AOF, rekod operasi tulis dan tambahkannya pada fail AOF.
Dalam Redis, penggunaan teragih boleh dicapai melalui kaedah yang dipanggil Kluster Redis. Kluster Redis menggabungkan berbilang kejadian Redis ke dalam kelompok, dan data boleh disimpan dalam keadaan berbeza sambil memastikan ketersediaan dan konsistensi yang tinggi.
Anda boleh menggunakan kod berikut untuk menyambung ke Redis Cluster:
$redis = new RedisCluster(NULL, ['127.0.0.1:7000', '127.0.0.1:7001', '127.0.0.1:7002']);
Di sini, kami menggunakan pembina kelas RedisCluster untuk menyambung ke Redis Cluster yang mengandungi tiga nod, yang boleh dilakukan hanya seperti menggunakan satu contoh Redis Lakukan operasi.
Ringkasan
Artikel ini memperkenalkan cara menggunakan PHP untuk mengendalikan pangkalan data Redis, termasuk operasi asas Redis dan beberapa teknik lanjutan. Dengan memahami operasi ini, kami boleh menggunakan kelebihan Redis dengan lebih baik dan meningkatkan prestasi serta kesan aplikasi web. Pada masa yang sama, perlu diingatkan bahawa pembangun juga perlu menggunakan pelbagai fungsi Redis secara fleksibel mengikut keperluan sebenar untuk mencapai hasil yang lebih baik.
Atas ialah kandungan terperinci Gunakan PHP untuk mengendalikan pangkalan data Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!