Artikel ini akan memperkenalkan anda kepada replikasi tuan-hamba dalam Redis, memperkenalkan konfigurasi tuan-hamba asas, peranan dan prinsip konfigurasi tuan-hamba, saya harap ia akan membantu anda!
Redis menyokong fungsi replikasi master-slave, yang boleh dilakukan dengan melaksanakan slaveof (ditukar kepada replicaof selepas versi Redis5) atau menetapkan slaveof dalam fail konfigurasi (ditukar kepada replicaof selepas Versi Redis5) Hidupkan fungsi salin. [Cadangan berkaitan: Tutorial video Redis]
- Satu induk dan dua gugusan
- Satu master Berbilang hamba
Tuan-hamba konfigurasi asas
Master Redis konfigurasi
Master Redis konfigurasi pada dasarnya tidak diperlukan Pengubahsuaian, bahagian utama adalah untuk mengkonfigurasi daripada Redis
Konfigurasi daripada Redis
1. Salin fail redis.conf
2. Pengubahsuaian konfigurasi yang berkaitan
# salve的端口号 port 6380 #把pid进程号写入pidfile配置的文件 pidfile /var/run/redis_6380.pid logfile "6380.log" #指定数据存放目录 dir /usr/local/redis‐5.0.3/data/6380 #需要注释掉bind #bind127.0.0.1(bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通过机器的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可)
3. Konfigurasikan replikasi tuan-hamba
#从本机master6379的redis实例复制数据,Redis5.0之前使用slaveof replicaof 192.168.0.60 6379 #配置从节点只读 replica‐read‐only yes
4. Mulakan nod hamba
redis‐server redis.conf
5. Sambungkan nod hamba
redis‐cli ‐p 6380
6 contoh untuk melihat sama ada tika 6380 boleh disegerakkan dalam masa Data yang baru diubah suai
docker run --name redis-6381 -v /Users/yujiale/docker/redis/conf/redis6381.conf:/etc/redis/redis.conf -v /Users/yujiale/docker/redis/conf/sentinel6381.conf:/etc/redis/sentine.conf -v /Users/yujiale/docker/redis/data6381:/data --network localNetwork --ip 172.172.0.14 -p 16381:6379 -d redis:6.2.6 redis-server /etc/redis/redis.conf --appendonly yes
Peranan konfigurasi tuan-hamba
Pemisahan baca dan tulis
- Satu tuan dan berbilang hamba, penyegerakan hamba tuan
- Tuan bertanggungjawab untuk menulis, dan hamba bertanggungjawab membaca
- Meningkatkan prestasi dan daya pengeluaran Redis
- Isu konsistensi data antara tuan dan hamba
Pemulihan bencana data
- Hamba adalah sandaran tuan
- Tuan sedang down, dan hamba boleh membaca tetapi tidak menulis
- Secara lalai, tuan Selepas masa henti, mesin hamba tidak boleh digunakan oleh hos
- Sentinel boleh melaksanakan pertukaran tuan-hamba untuk mencapai ketersediaan yang tinggi
Prinsip kerja tuan-hamba Redis
Salinan penuh replikasi tuan-hamba
Hanya kali pertama hamba Redis menyambung kepada tuan Redis ialah salinan penuh Jika ia adalah penyambungan semula jangka pendek, ia mungkin salinan penuh atau salinan separa.
- Carta Aliran
1. Wujudkan sambungan Socker yang panjang Redis
Slaver mewujudkan sambungan soket dengan induk
pemproses acara fail berkaitan slaver
- Pemproses ini menerima fail RDB (salinan penuh) dan menerima komunikasi Master Tulis arahan (salinan tambahan)
- Selepas pelayan induk menerima sambungan Soket pelayan hamba, ia mencipta status klien yang sepadan. Ia bersamaan dengan pelayan hamba yang menjadi pelanggan pelayan induk.
-
Hantar arahan ping
-
Slaver menghantar arahan ping kepada Master
1 Semak status baca dan tulis soket
2. Semak sama ada Master boleh memprosesnya secara normal
-
Respons Master:
-
1 ralat, menunjukkan bahawa Master tidak normal
3, menunjukkan tamat masa rangkaian
-
-
Pengesahan kebenaran
- Selepas tuan dan hamba disambungkan seperti biasa, lakukan pengesahan kebenaran
- Tuan tidak menetapkan kata laluan (requirepass=""), dan hamba tidak perlu menetapkan kata laluan (masterauth="" ")
Tuan menetapkan kata laluan (requirepass!=""), hamba perlu menetapkan kata laluan (masterauth=nilai requirepass master)
atau hamba menghantar kata laluan kepada tuan melalui arahan auth
2. Redis utama menerima arahan PSYNC
Selepas Redis utama menerima arahan PSYNC, melaksanakan arahan bgsave akan menghasilkan petikan rdb terkini,
3 menghantar petikan rdb kepada hamba RedisApabila tuan Redis menghantar petikan rdb kepada hamba Redis, tuan akan terus menerima permintaan pelanggan, dan ia akan Permintaan yang boleh mengubah suai set data dicache dalam ingatan dan disimpan dalam cache penimbal relp- Fasa syot kilat penyegerakan: Master mencipta dan menghantar syot kilat RDB kepada Hamba, dan Hamba memuatkan dan menghuraikan syot kilat. Master juga menyimpan arahan tulis baharu yang dijana semasa fasa ini ke dalam penimbal.
4 Terima petikan rdb daripada nod
Selepas menerima petikan rdb daripada nod, kosongkan data lama dan muatkan fail rdb
5. Redis induk menghantar fail cache penimbal kepada Redis hamba
Fasa penimbal tulis segerak: Master menyegerakkan perintah operasi tulis yang disimpan dalam penimbal kepada Slave.
6. Terima fail cache penimbal daripada nod
Terima fail cache penimbal daripada nod dan muatkan fail cache penimbal ke dalam memori
7. Master Redis secara berterusan menghantar arahan kepada nod hamba melalui sambungan panjang Socker
Redis hamba menerima arahan yang dihantar oleh Redis tuan dan melaksanakan arahan semasa
Ikhtisar
Jika anda mengkonfigurasi hamba untuk tuan, tidak kira sama ada hamba bersambung kepada tuan buat kali pertama, ia akan menghantar arahan PSYNC kepada tuan untuk meminta salinan data. Selepas induk menerima arahan PSYNC, ia akan melakukan ketekunan data di latar belakang dan menjana fail petikan RDB terkini melalui bgsave Semasa tempoh kegigihan, induk akan terus menerima permintaan pelanggan, dan ia akan menyimpan permintaan ini yang mungkin mengubah suai. set data dalam ingatan. Apabila kegigihan selesai, tuan akan menghantar set data fail RDB kepada hamba, dan hamba akan mengekalkan data yang diterima untuk menjana RDB, dan kemudian memuatkannya ke dalam memori. Kemudian, tuan menghantar arahan yang dicache sebelum ini dalam ingatan kepada hamba. Apabila sambungan antara tuan dan hamba diputuskan atas sebab tertentu, hamba boleh menyambung semula secara automatik kepada tuan Jika tuan menerima berbilang permintaan sambungan serentak hamba, ia hanya akan berterusan sekali, bukan sekali untuk setiap sambungan, dan kemudian hantar. data berterusan ini kepada berbilang hamba yang disambungkan secara serentak.
Salinan separa salinan tuan-hamba

Proses umum adalah serupa dengan salinan penuh, jadi saya tidak akan menerangkannya secara terperinci
Penerangan ringkas
Apabila tuan dan hamba diputuskan dan disambungkan semula, keseluruhan data secara amnya akan disalin. Walau bagaimanapun, bermula dari redis versi 2.8, redis menggunakan arahan PSYNC yang boleh menyokong replikasi data separa untuk menyegerakkan data dengan induk Hamba dan induk hanya boleh melakukan replikasi data separa (transmisi disambung semula) selepas sambungan rangkaian diputuskan dan disambungkan semula. Master akan membuat baris gilir cache untuk menyalin data dalam ingatannya untuk cache data untuk tempoh terkini Master dan semua hambanya mengekalkan offset data yang disalin dan id proses induk, apabila sambungan rangkaian diputuskan. Selepas itu, hamba akan meminta tuan untuk meneruskan replikasi yang belum selesai, bermula dari indeks data yang direkodkan. Jika ID proses induk berubah, atau pengimbangan data nod hamba terlalu lama dan tidak lagi berada dalam baris gilir cache induk, maka salinan data penuh akan dilakukan. Replikasi tuan-hamba (replikasi separa, resume titik putus) carta alir:
Penyegerakan tambahan replikasi tuan-hamba
Penyegerakan tambahan Redis Ia terutamanya merujuk kepada proses menyegerakkan operasi tulis Master kepada Slave apabila Slave melengkapkan permulaan dan mula berfungsi seperti biasa.
Biasanya, setiap kali Guru melaksanakan arahan tulis, ia akan menghantar arahan tulis yang sama kepada Hamba, dan kemudian Hamba akan menerima dan melaksanakannya.
Pengesan degupan jantung replikasi tuan-hamba
1. Kesan status sambungan tuan-hamba
Kesan status sambungan rangkaian pelayan induk dan hamba Dengan menghantar arahan replikasi INFO ke pelayan induk, anda boleh menyenaraikan pelayan hamba Anda boleh melihat berapa saat telah berlalu sejak arahan terakhir dihantar kepada induk . Nilai lag harus melompat antara 0 atau 1. Jika melebihi 1, ini bermakna sambungan antara tuan dan hamba adalah rosak.
2. Pelaksanaan tambahan hamba-min
Redis boleh dikonfigurasikan untuk menghalang pelayan utama daripada melaksanakan perintah tulis min-hamba-untuk-tulis 3 ( min -replicas-to-write 3) min-slaves-max-lag 10 (min-replicas-max-lag 10) Konfigurasi di atas bermaksud: bilangan pelayan hamba adalah kurang daripada 3, atau kelewatan tiga pelayan hamba (lag ) nilai lebih besar daripada atau sama dengan 10 saat, pelayan induk akan menolak untuk melaksanakan arahan tulis. Nilai kelewatan di sini ialah nilai lag perintah INForeplication di atas.
3. Kesan kehilangan arahan
Jika arahan tulis yang dihantar dari pelayan induk ke pelayan hamba hilang separuh jalan akibat kegagalan rangkaian, maka apabila pelayan hamba menghantar REPLCONF ke pelayan induk Apabila melaksanakan arahan ACK, pelayan induk akan mendapati bahawa pengimbangan replikasi semasa pelayan hamba adalah kurang daripada pengimbangan replikasinya sendiri Kemudian pelayan induk akan mencari data pelayan hamba yang hilang dalam replikasi penimbal tunggakan berdasarkan offset replikasi yang dihantar oleh data pelayan hamba dan menghantar semula data ke pelayan hamba. (Keluaran semula) Rangkaian disegerakkan secara berterusan secara berperingkat: rangkaian diputuskan sambungan dan apabila disambungkan semula
Cara menilai sama ada salinan penuh atau salinan separa

Selepas klien menghantar saveof, nod induk akan menilai sama ada ia adalah salinan pertama , dan jika ya, teruskan Salinan penuh, jika offset runid tidak digunakan untuk menentukan sama ada ia konsisten, jika konsisten, salinan separa akan dilakukan, jika tidak, salinan penuh akan dilakukan.
Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Video Pengaturcaraan! !
Penyegerakan tambahan Redis Ia terutamanya merujuk kepada proses menyegerakkan operasi tulis Master kepada Slave apabila Slave melengkapkan permulaan dan mula berfungsi seperti biasa.
Biasanya, setiap kali Guru melaksanakan arahan tulis, ia akan menghantar arahan tulis yang sama kepada Hamba, dan kemudian Hamba akan menerima dan melaksanakannya.
Atas ialah kandungan terperinci Ketahui lebih lanjut tentang replikasi tuan-hamba dalam Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Redis是现在最热门的key-value数据库,Redis的最大特点是key-value存储所带来的简单和高性能;相较于MongoDB和Redis,晚一年发布的ES可能知名度要低一些,ES的特点是搜索,ES是围绕搜索设计的。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于redis的一些优势和特点,Redis 是一个开源的使用ANSI C语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式存储数据库,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis Cluster集群收缩主从节点的相关问题,包括了Cluster集群收缩概念、将6390主节点从集群中收缩、验证数据迁移过程是否导致数据异常等,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis实现排行榜及相同积分按时间排序,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于原子操作中命令原子性的相关问题,包括了处理并发的方案、编程模型、多IO线程以及单命令的相关内容,下面一起看一下,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了bitmap问题,Redis 为我们提供了位图这一数据结构,位图数据结构其实并不是一个全新的玩意,我们可以简单的认为就是个数组,只是里面的内容只能为0或1而已,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis实现排行榜及相同积分按时间排序,本文通过实例代码给大家介绍的非常详细,下面一起来看一下,希望对大家有帮助。

redis error就是redis数据库和其组合使用的部件出现错误,这个出现的错误有很多种,例如Redis被配置为保存数据库快照,但它不能持久化到硬盘,用来修改集合数据的命令不能用。


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

Dreamweaver CS6
Alat pembangunan web visual

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini