Dengan perkembangan perniagaan Internet, pertumbuhan volum data telah menjadi trend. Dalam konteks ini, sharding adalah kaedah biasa untuk menyelesaikan masalah penyimpanan data besar. Pemisahan jadual boleh membahagikan jadual besar kepada berbilang jadual kecil, dengan itu mencapai tujuan penyimpanan data terdesentralisasi dan meningkatkan kecekapan pertanyaan. Redis ialah pelayan struktur data storan memori berprestasi tinggi, di mana sharding juga amat diperlukan. Berikut akan memperkenalkan cara menggunakan PHP untuk melaksanakan pembahagian jadual pangkalan data Redis.
Sebelum melaksanakan pecah bahagi jadual, anda perlu menentukan peraturan pecah bahagi jadual. Biasanya sub-jadual boleh dikumpulkan mengikut atribut tertentu data, seperti modulus ID, sub-jadual mengikut masa, dsb.
Gunakan bahasa PHP untuk menyambung ke pangkalan data Redis dan laksanakan kod berikut:
$redis = new Redis(); $redis->connect('127.0.0.1', 6379);
Untuk kemudahan percubaan, di sini kami menjana beberapa data secara rawak dan memasukkannya ke dalam pangkalan data Redis. Kod tersebut dilaksanakan seperti berikut:
for ($i = 1; $i <= 1000; $i++) { //生成1000个随机数作为key $key = rand(1, 100); //为key生成value $value = "value_" . $i; //插入数据到Redis数据库中 $redis->set($key, $value); }
Pertama, mengikut peraturan pemisahan jadual, kita perlu mengumpulkan data mengikut hasil modulo kuncinya. Kod tersebut dilaksanakan seperti berikut:
for ($i = 0; $i < 10; $i++) { $redis->select($i); //选择分表 for ($j = 1; $j <= 100; $j++) { $keys = []; //用于存放符合规则的key $cursor = null; //游标 while ($keysResult = $redis->scan($cursor)) { $keys = array_merge($keys, $keysResult); if ($cursor == 0) { break; } } foreach ($keys as $key) { $value = $redis->get($key); //将数据插入到分表中 $splitTableKey = "table_" . $i; $redis->select($splitTableKey); $redis->set($key, $value); } } }
Selepas mengumpulkan data ke dalam berbilang sub-jadual, kami perlu menanyakan data. Kod tersebut dilaksanakan seperti berikut:
for ($i = 0; $i < 10; $i++) { $redis->select($i); $result = $redis->get("1"); echo "table_" . $i . " : " . $result . " "; }
Memisahkan data kepada jadual dalam pangkalan data Redis boleh meningkatkan kecekapan penyimpanan data dan mengoptimumkan prestasi pertanyaan. Dalam artikel ini, kami menggunakan bahasa PHP untuk melaksanakan operasi pemisahan jadual pangkalan data Redis, termasuk menentukan peraturan pemisahan jadual, penyambungan ke pangkalan data Redis, memasukkan data, operasi pemisahan jadual dan data pertanyaan. Melalui pengenalan artikel ini, saya percaya pembaca boleh dengan cepat memulakan operasi pemisahan jadual pangkalan data Redis.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pemisahan jadual pangkalan data Redis dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!