PHP Redis ialah pangkalan data storan nilai kunci yang popular, biasanya digunakan untuk caching dan penyimpanan data. Ia menyokong pelbagai struktur data, termasuk rentetan, cincang, senarai, set dan set diisih. Apabila menggunakan PHP Redis untuk menyimpan data, kita sering menemui beberapa data jenis tatasusunan, seperti tatasusunan bersekutu dan tatasusunan berbilang dimensi. Jadi, adakah PHP Redis menyokong menyimpan tatasusunan?
Jawapannya ya. PHP Redis menyokong menyimpan objek tatasusunan, tetapi tatasusunan perlu disirikan menjadi rentetan sebelum ia boleh disimpan. PHP menyediakan beberapa fungsi terbina dalam untuk menyusun tatasusunan menjadi rentetan, seperti serialize() dan json_encode(). Antaranya, fungsi serialize() menyerikan objek menjadi rentetan, dan json_encode() mengekod pembolehubah PHP (tatasusunan, objek) ke dalam rentetan dalam format JSON. Walaupun kedua-dua fungsi boleh menukar tatasusunan kepada rentetan, mereka melakukannya dengan cara yang berbeza. Oleh itu, apabila memilih cara untuk menyusun tatasusunan, anda perlu membuat keputusan berdasarkan keperluan anda sendiri.
Apabila menggunakan PHP Redis untuk menyimpan tatasusunan, langkah berikut biasanya diperlukan:
Gunakan serialize() atau Fungsi json_encode() mensiri tatasusunan menjadi rentetan.
// 关联数组 $arr = array('name' => 'John', 'age' => 28); $str = serialize($arr); // 多维数组 $arr = array( 'person1' => array('name' => 'John', 'age' => 28), 'person2' => array('name' => 'Tom', 'age' => 30) ); $str = json_encode($arr);
Gunakan fungsi set Redis() untuk menyimpan rentetan ke dalam Redis. Anda boleh memilih kunci yang sesuai sebagai nama tatasusunan storan.
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); // 存储关联数组 $redis->set('person', serialize($arr)); // 存储多维数组 $redis->set('person_list', json_encode($arr));
Gunakan fungsi get() Redis untuk mendapatkan rentetan yang disimpan daripada Redis, Dan gunakan unserialize () atau json_decode() berfungsi untuk menyahsirikannya ke dalam tatasusunan.
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); // 获取关联数组 $str = $redis->get('person'); $arr = unserialize($str); // 获取多维数组 $str = $redis->get('person_list'); $arr = json_decode($str, true);
Perlu diambil perhatian bahawa apabila menggunakan fungsi json_decode(), parameter kedua perlu ditetapkan kepada benar, yang bermaksud tatasusunan akan dikembalikan dan bukannya objek. Ini memastikan data yang diperoleh adalah dalam format yang betul.
Ringkasnya, PHP Redis boleh menyimpan tatasusunan, tetapi tatasusunan itu perlu diserikan menjadi rentetan sebelum penyimpanan. Proses menggunakan Redis untuk menyimpan tatasusunan ialah: sirikan tatasusunan ke dalam rentetan -> Apabila mensiri tatasusunan, anda boleh menggunakan fungsi serialize() atau json_encode(). Apabila menyahsiri tatasusunan, anda boleh menggunakan fungsi unserialize() atau json_decode() Anda perlu memberi perhatian kepada menetapkan parameter kedua kepada benar.
Atas ialah kandungan terperinci Adakah php redis menyimpan tatasusunan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!