Bagaimana untuk melaksanakan kluster pangkalan data Redis dalam PHP

WBOY
Lepaskan: 2023-05-15 19:02:01
asal
1512 orang telah melayarinya

Redis ialah pangkalan data dalam memori yang biasa digunakan. Ia mempunyai ciri-ciri membaca dan menulis berkelajuan tinggi, struktur data yang kaya, dan ketekunan Ia telah menjadi salah satu alat yang sangat penting dalam aplikasi web. Dengan pengembangan perniagaan dan peningkatan jumlah data, pelayan Redis tunggal tidak lagi dapat memenuhi keperluan perniagaan Pada masa ini, adalah perlu untuk menggunakan kluster pangkalan data Redis untuk memastikan ketersediaan dan skalabiliti data yang tinggi.

Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan kluster pangkalan data Redis , yang dilaksanakan melalui sharding Pemprosesan dan penyimpanan data. Kelompok Redis terdiri daripada berbilang pelayan Redis Setiap pelayan mempunyai berbilang kejadian Redis, dan setiap kejadian menyimpan sebahagian daripada data. Pelanggan mengarahkan permintaan data ke nod yang ditetapkan melalui algoritma penghalaan nod, dan replikasi induk-hamba digunakan antara setiap nod untuk mencapai penyegerakan dan sandaran data.

2. Pasang sambungan Redis

Menggunakan Redis dalam PHP memerlukan pemasangan sambungan Redis menyediakan antara muka PHP Redis, yang boleh berinteraksi dengan pelayan Redis. Anda boleh menggunakan arahan PECL untuk memasang sambungan Redis Operasi khusus adalah seperti berikut:

Muat turun kod sumber sambungan Redis:

wget https://github.com/phpredis/phpredis/archive/5.3.0.tar.gz
Salin selepas log masuk
  1. Nyahzip pakej kod sumber:
tar zxvf 5.3.0.tar.gz
Salin selepas log masuk
  1. Tukar ke direktori unzip:
cd phpredis-5.3.0
Salin selepas log masuk
  1. Kompil dan pasang sambungan Redis:
phpize
./configure
make && make install
Salin selepas log masuk
  1. Ubah suai fail php.ini , tambah kandungan berikut pada penghujung fail:
extension=redis.so
Salin selepas log masuk
  1. Mulakan semula perkhidmatan php-fpm atau apache:
sudo service php-fpm restart
Salin selepas log masuk
    3. Gunakan kelompok Redis
  1. Apabila menggunakan kelompok Redis, anda perlu memberi perhatian kepada perkara berikut:

Setiap nod dalam kelompok Redis mempunyai ID, dan IP serta port nod boleh diperolehi melalui ID.

Setiap nod dalam kelompok Redis mempunyai julat nombor slot maya Pelanggan memetakan Kunci ke nombor slot melalui fungsi cincang, dan kemudian mencari nod yang sepadan berdasarkan nombor slot.
  1. Kluster Redis menggunakan algoritma CRC16 secara lalai untuk mengira nombor slot dan anda boleh menggunakan algoritma pencincangan yang konsisten untuk menyesuaikan algoritma.
  2. Kod berikut menunjukkan cara menggunakan gugusan Redis:
  3. <?php
    $nodes = [
        ['id' => 'node-1', 'host' => '10.10.0.1', 'port' => 6379],
        ['id' => 'node-2', 'host' => '10.10.0.2', 'port' => 6379],
        ['id' => 'node-3', 'host' => '10.10.0.3', 'port' => 6379],
    ];
    $options = [
        'cluster' => 'redis',
        'timeout' => 1.5,
    ];
    $cluster = new RedisCluster(null, $nodes, $options);
    $cluster->set('key', 'value');
    echo $cluster->get('key');
    Salin selepas log masuk
  4. Kod di atas mentakrifkan tiga nod Redis, masing-masing sepadan dengan tiga pelayan Setiap nod ditakrifkan menggunakan IP dan port. Cipta objek gugusan Redis melalui pembina kelas RedisCluster, dan gunakan kaedah set dan dapatkan untuk beroperasi pada pangkalan data Redis.

4. Pengurusan kluster Redis

Dalam kluster Redis, terdapat beberapa perintah yang biasa digunakan untuk pengurusan kluster:

NOD KLUSTER: Tanya semua maklumat nod dalam gugusan .

SLOT KUNCI KLUSTER : Kira nombor slot mana kepunyaan Kunci yang diberikan.
  1. KLUSTER COUNTKEYSINSLOT : Tanya bilangan Kekunci yang terkandung dalam nombor slot yang ditentukan.
  2. TAMBAHAN KLUSTER [ ...]: Berikan nombor slot yang ditentukan kepada nod semasa.
  3. SETSLOT KLUSTER MIGRASI : Pindahkan nombor slot yang ditentukan ke nod lain.
  4. SETSLOT KLUSTER MENGIMPORT : Import nombor slot yang ditentukan daripada nod lain ke nod semasa.
  5. REPLICATE KLUSTER : Tetapkan nod sebagai nod hamba nod yang ditentukan.
  6. KLUSTER FAILOVER [FORCE|TAKEOVER]: Tetapkan nod yang ditentukan sebagai nod induk.
  7. Arahan di atas memerlukan penggunaan klien baris arahan Redis boleh dipasang menggunakan arahan berikut:
  8. sudo apt install redis-tools
    Salin selepas log masuk
    5 >Artikel ini Memperkenalkan kaedah dan langkah untuk melaksanakan kluster pangkalan data Redis menggunakan PHP. Kelompok Redis menggunakan seni bina teragih, yang boleh merealisasikan pemprosesan dan penyimpanan data melalui sharding, dan merealisasikan penyegerakan dan sandaran data melalui replikasi tuan-hamba, sekali gus memastikan ketersediaan dan skalabiliti data yang tinggi. Untuk menggunakan kelompok Redis dalam PHP, anda perlu memasang sambungan Redis dan kemudian menggunakan kelas RedisCluster untuk melaksanakan operasi data. Pengurusan kluster boleh dikendalikan melalui klien baris arahan Redis, dan operasi seperti menambah, memadam dan memindahkan nod kluster boleh dilakukan.

    Atas ialah kandungan terperinci Bagaimana untuk melaksanakan kluster pangkalan data Redis dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan