Redis教程(九):主从复制配置实例
一、Redis的Replication:
这里首先需要说明的是,在Redis中配置Master-Slave模式真是太简单了。相信在阅读完这篇Blog之后你也可以轻松做到。这里我们还是先列出一些理论性的知识,后面给出实际操作的案例。
下面的列表清楚的解释了Redis Replication的特点和优势。
1). 同一个Master可以同步多个Slaves。
2). Slave同样可以接受其它Slaves的连接和同步请求,这样可以有效的分载Master的同步压力。因此我们可以将Redis的Replication架构视为图结构。
3). Master Server是以非阻塞的方式为Slaves提供服务。所以在Master-Slave同步期间,客户端仍然可以提交查询或修改请求。
4). Slave Server同样是以非阻塞的方式完成数据同步。在同步期间,如果有客户端提交查询请求,Redis则返回同步之前的数据。
5). 为了分载Master的读操作压力,Slave服务器可以为客户端提供只读操作的服务,写服务仍然必须由Master来完成。即便如此,系统的伸缩性还是得到了很大的提高。
6). Master可以将数据保存操作交给Slaves完成,从而避免了在Master中要有独立的进程来完成此操作。
二、Replication的工作原理:
在Slave启动并连接到Master之后,它将主动发送一个SYNC命令。此后Master将启动后台存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台进程执行完毕后,Master将传送整个数据库文件到Slave,以完成一次完全同步。而Slave服务器在接收到数据库文件数据之后将其存盘并加载到内存中。此后,Master继续将所有已经收集到的修改命令,和新的修改命令依次传送给Slaves,Slave将在本次执行这些数据修改命令,从而达到最终的数据同步。
如果Master和Slave之间的链接出现断连现象,Slave可以自动重连Master,但是在连接成功之后,一次完全同步将被自动执行。
三、如何配置Replication:
见如下步骤:
1). 同时启动两个Redis服务器,可以考虑在同一台机器上启动两个Redis服务器,分别监听不同的端口,如6379和6380。
2). 在Slave服务器上执行一下命令:
/> redis-cli -p 6380 #这里我们假设Slave的端口号是6380 redis 127.0.0.1:6380> slaveof 127.0.0.1 6379 #我们假设Master和Slave在同一台主机,Master的端口为6379 OK
上面的方式只是保证了在执行slaveof命令之后,redis_6380成为了redis_6379的slave,一旦服务(redis_6380)重新启动之后,他们之间的复制关系将终止。
如果希望长期保证这两个服务器之间的Replication关系,可以在redis_6380的配置文件中做如下修改:
/> cd /etc/redis #切换Redis服务器配置文件所在的目录。 /> ls 6379.conf 6380.conf /> vi 6380.conf 将 # slaveof <masterip> <masterport> 改为 slaveof 127.0.0.1 6379
保存退出。
这样就可以保证Redis_6380服务程序在每次启动后都会主动建立与Redis_6379的Replication连接了。
四、应用示例:
这里我们假设Master-Slave已经建立。
#启动master服务器。 [root@Stephen-PC redis]# redis-cli -p 6379 redis 127.0.0.1:6379> #情况Master当前数据库中的所有Keys。 redis 127.0.0.1:6379> flushdb OK #在Master中创建新的Keys作为测试数据。 redis 127.0.0.1:6379> set mykey hello OK redis 127.0.0.1:6379> set mykey2 world OK #查看Master中存在哪些Keys。 redis 127.0.0.1:6379> keys * 1) "mykey" 2) "mykey2" #启动slave服务器。 [root@Stephen-PC redis]# redis-cli -p 6380 #查看Slave中的Keys是否和Master中一致,从结果看,他们是相等的。 redis 127.0.0.1:6380> keys * 1) "mykey" 2) "mykey2" #在Master中删除其中一个测试Key,并查看删除后的结果。 redis 127.0.0.1:6379> del mykey2 (integer) 1 redis 127.0.0.1:6379> keys * 1) "mykey" #在Slave中查看是否mykey2也已经在Slave中被删除。 redis 127.0.0.1:6380> keys * 1) "mykey"
以上就是Redis教程(九):主从复制配置实例的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Mod Redis cluster menyebarkan contoh Redis ke pelbagai pelayan melalui sharding, meningkatkan skalabilitas dan ketersediaan. Langkah -langkah pembinaan adalah seperti berikut: Buat contoh Redis ganjil dengan pelabuhan yang berbeza; Buat 3 contoh sentinel, memantau contoh redis dan failover; Konfigurasi fail konfigurasi sentinel, tambahkan pemantauan maklumat contoh dan tetapan failover; Konfigurasi fail konfigurasi contoh Redis, aktifkan mod kluster dan tentukan laluan fail maklumat kluster; Buat fail nodes.conf, yang mengandungi maklumat setiap contoh Redis; Mulakan kluster, laksanakan perintah Buat untuk membuat kluster dan tentukan bilangan replika; Log masuk ke kluster untuk melaksanakan perintah maklumat kluster untuk mengesahkan status kluster; buat

Redis menggunakan jadual hash untuk menyimpan data dan menyokong struktur data seperti rentetan, senarai, jadual hash, koleksi dan koleksi yang diperintahkan. Redis berterusan data melalui snapshots (RDB) dan menambah mekanisme tulis sahaja (AOF). Redis menggunakan replikasi master-hamba untuk meningkatkan ketersediaan data. Redis menggunakan gelung acara tunggal untuk mengendalikan sambungan dan arahan untuk memastikan atom dan konsistensi data. Redis menetapkan masa tamat tempoh untuk kunci dan menggunakan mekanisme memadam malas untuk memadamkan kunci tamat tempoh.

Untuk melihat nombor versi REDIS, anda boleh menggunakan tiga kaedah berikut: (1) Masukkan arahan INFO, (2) Mulakan pelayan dengan pilihan --version, dan (3) Lihat fail konfigurasi.

Redis Cluster adalah model penempatan yang diedarkan yang membolehkan pengembangan mendatar contoh Redis, dan dilaksanakan melalui komunikasi antara nod, ruang utama slot hash, pilihan raya nod, replikasi master-hamba dan pengalihan arahan: Komunikasi antara nod: Komunikasi rangkaian maya direalisasikan melalui bas kluster. Slot hash: Membahagikan ruang utama ke dalam slot hash untuk menentukan nod yang bertanggungjawab untuk kunci. Pilihan Raya Nod: Sekurang -kurangnya tiga nod induk diperlukan, dan hanya satu nod induk aktif yang dipastikan melalui mekanisme pilihan raya. Replikasi Master-Slave: Node Master bertanggungjawab untuk menulis permintaan, dan nod hamba bertanggungjawab untuk permintaan membaca dan replikasi data. Pengalihan Perintah: Pelanggan menghubungkan ke nod yang bertanggungjawab untuk kunci, dan nod mengalihkan permintaan yang salah. Penyelesaian masalah: Pengesanan kesalahan, menandakan garis dan

Langkah-langkah untuk menyelesaikan masalah yang tidak dapat dijumpai oleh Redis-Server: periksa pemasangan untuk memastikan Redis dipasang dengan betul; Tetapkan pembolehubah persekitaran redis_host dan redis_port; Mulakan Redis Server Redis-server; Semak sama ada pelayan sedang menjalankan ping redis-cli.

Redis memerintahkan set (ZSET) digunakan untuk menyimpan elemen yang diperintahkan dan disusun mengikut skor yang berkaitan. Langkah -langkah untuk menggunakan ZSET termasuk: 1. Buat zset; 2. Tambah ahli; 3. Dapatkan skor ahli; 4. Dapatkan kedudukan; 5. Dapatkan ahli dalam julat ranking; 6. Padam ahli; 7. Dapatkan bilangan elemen; 8. Dapatkan bilangan ahli dalam julat skor.

Redis menggunakan lima strategi untuk memastikan keunikan kekunci: 1. Pemisahan ruang nama; 2. Struktur data hash; 3. Tetapkan struktur data; 4. Karakter Khas Kekunci String; 5. Pengesahan skrip Lua. Pilihan strategi khusus bergantung kepada organisasi data, prestasi, dan keperluan skalabilitas.

Untuk melihat semua kunci di Redis, terdapat tiga cara: Gunakan perintah kunci untuk mengembalikan semua kunci yang sepadan dengan corak yang ditentukan; Gunakan perintah imbasan untuk melangkah ke atas kunci dan kembalikan satu set kunci; Gunakan arahan maklumat untuk mendapatkan jumlah kunci.
