cari
Rumahpangkalan dataRedisCache Redis mempelajari slot cincang dan cincang yang konsisten

Artikel ini membawakan anda pengetahuan yang berkaitan tentang Redis, yang terutamanya memperkenalkan isu yang berkaitan dengan pencincangan yang konsisten dan slot cincangan Jika pengembangan berlaku atau nod hilang, anda akan menghadapi banyak masalah pemindahan data , slot hashing dan hash yang konsisten dapat mengelakkan masalah ini, saya harap ia akan membantu semua orang.

Cache Redis mempelajari slot cincang dan cincang yang konsisten

Pembelajaran yang disyorkan: Tutorial pembelajaran Redis

Jika kini kami mempunyai peranti x cache, kami memutuskan di mana untuk meletakkan data Apabila caching pada peranti, anda boleh key%x, tetapi jika pengembangan berlaku atau nod hilang, anda memerlukan key%(x±y) Ini akan menghadapi banyak masalah pemindahan data Pencincangan dan slot cincang yang konsisten boleh mengelakkan masalah ini .

Prinsip pencincangan konsisten

Pencincangan biasa ialah mengambil baki bilangan pelayan pencincangan konsisten ialah mengambil baki nombor tertentu (2^32) dan ia tidak akan berubah disebabkan oleh bilangan pelayan. Pertama, kita mengambil baki IP pelayan atau pengecam unik lain untuk mendapatkan nilai ini adalah kedudukan pelayan pada gelang cincang nilai. Kami menggantikan cincang dengan pelayan yang sepadan dan mencari nilai Jika tiada pelayan di lokasi, semak sama ada pelayan di lokasi seterusnya tahu untuk mencari pelayan yang boleh disimpan.

1. Ruang dering

Cincang kekunci yang sepadan mengikut algoritma cincang yang biasa digunakan ke dalam ruang dengan 2 kuasa 32 nod, iaitu 0 ~ (2 daripada 32)-1 dalam ruang digital. Kita boleh bayangkan benda ini menggigit ekornya, membentuk gelung tertutup.
Cache Redis mempelajari slot cincang dan cincang yang konsisten

2. Hash pelayan ke gelanggang

Sekarang cincin sudah tersedia, kita kini perlu meletakkan pelayan pada gelanggang. , yang boleh berdasarkan alamat IP pelayan Dapatkan nombor dan pengecam unik lain, cincang dan letakkannya di atas gelanggang.
Cache Redis mempelajari slot cincang dan cincang yang konsisten服务器

3. Penyimpanan dan pemerolehan data

Apabila kita perlu meletakkan data pada pelayan, kita perlu mengira nilai cincang bagi data Kemudian ambil bakinya Jika nilai selebihnya mempunyai pelayan yang sepadan pada cincin, letakkannya secara langsung. Jika tidak, cari ke belakang.
Cache Redis mempelajari slot cincang dan cincang yang konsisten
Jadi akhirnya data1 dalam redis1 dan data2 dalam redis2. Apabila kami memperoleh data, kami juga melakukan proses yang sama, mengira nilai cincang kunci, dan kemudian mendapatkan pelayan yang disimpan mengikut peraturan yang sama.

4. Pemadaman dan penambahan pelayan

Jika nod redis ditutup sekarang, maka data dalam nod lain masih ada, dan data dalam nod asal masih ada. Data akan diedarkan semula ke nod seterusnya.
Jika pelayan baharu RedisNeo ditambahkan pada persekitaran, RedisNeo dipetakan ke gelang melalui algoritma cincang, dan mengikut peraturan migrasi mengikut arah jam, maka data dengan nilai cincang sebelumnya antara Redis2 dan RedisNeo akan dipindahkan ke RedisNeo (di bawah) Dalam rajah, RedisNeo berada di sebelah Redis2), dan objek lain masih mengekalkan lokasi storan asalnya. Melalui analisis penambahan dan pemadaman nod, algoritma cincang yang konsisten mengekalkan monotonisitas sambil meminimumkan penghijrahan data.
Cache Redis mempelajari slot cincang dan cincang yang konsisten
Jadi selepas redisNeo ditambahkan, data3 masuk ke redisNeo.

5. Baki

Setakat ini, pencincangan yang konsisten boleh dianggap selesai, tetapi ada satu masalah yang masih perlu diselesaikan, iaitu keseimbangan. Daripada rajah di bawah, kita dapat melihat bahawa apabila terdapat sedikit nod pelayan, masalah akan timbul, iaitu, sejumlah besar data pasti akan tertumpu pada satu nod Contohnya, jika anda hanya mempunyai dua nod, satu di 1 dan yang lain pada 10, maka ia akan menjadi sangat sukar, jelas tekanan pada nod 1 adalah tidak terhingga, kerana hanya mereka yang mempunyai nilai hash antara [2,10] akan pergi ke nod 10, dan yang lain akan pergi ke. nod 1. Untuk menyelesaikan masalah pencongan data ini, pencincangan yang konsisten Algoritma memperkenalkan mekanisme nod maya, iaitu, berbilang cincang dikira untuk setiap nod perkhidmatan, dan satu nod perkhidmatan diletakkan pada setiap kedudukan hasil pengiraan, yang dipanggil a nod maya. Kaedah khusus boleh terlebih dahulu menentukan bilangan nod maya yang dikaitkan dengan setiap nod fizikal, dan kemudian menambah nombor selepas IP atau nama hos Pada masa yang sama, algoritma kedudukan data kekal tidak berubah, kecuali untuk pemetaan nod maya kepada nod sebenar.

slot cincang

Slot cincang digunakan dalam skema gugusan redis Kelompok gugusan redis tidak menggunakan skema pencincangan yang konsisten, tetapi menggunakan pencincangan dalam pencincangan data digunakan untuk penyimpanan data dan bacaan. Kelompok Redis menggunakan slot cincang serpihan data untuk penyimpanan data dan pembacaan data. Kelompok redis mempunyai sejumlah 2^14 (16384) slot Semua nod induk akan mempunyai kawasan slot seperti 0~1000 Bilangan slot boleh dipindahkan. Nod hamba nod induk tidak menetapkan slot dan hanya mempunyai kebenaran membaca. Tetapi ambil perhatian bahawa dalam kod, kelompok redis melakukan operasi baca dan tulis pada nod induk Ia bukan nod hamba untuk membaca dan nod induk untuk menulis seperti yang anda fikirkan. Apabila gugusan redis dicipta buat kali pertama, 16384 slot diagihkan sama rata oleh nod induk.
Cache Redis mempelajari slot cincang dan cincang yang konsisten
Berbanding dengan pencincangan yang konsisten, anda perlu memperuntukkan slot cincang secara manual apabila mengembangkan dan mengecil, dan apabila memadamkan nod induk, anda perlu menyerahkan nod hamba dan slot cincangnya kepada nod yang lain; slot cincang adalah berdasarkan nilai CRC-16 (kunci) 384 untuk menentukan kepunyaan slot itu.

Pembelajaran yang disyorkan: Tutorial Redis

Atas ialah kandungan terperinci Cache Redis mempelajari slot cincang dan cincang yang konsisten. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:CSDN. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Redis: Panduan ke kedai data nilai kunciRedis: Panduan ke kedai data nilai kunciMay 02, 2025 am 12:10 AM

REDIS adalah penyimpanan struktur data memori sumber terbuka yang digunakan sebagai pangkalan data, cache dan broker mesej, sesuai untuk senario di mana tindak balas pantas dan kesesuaian tinggi diperlukan. 1.Redis menggunakan memori untuk menyimpan data dan menyediakan mikrosecond membaca dan menulis kelajuan. 2. Ia menyokong pelbagai struktur data, seperti rentetan, senarai, koleksi, dan sebagainya. 3. Redis menyedari kegigihan data melalui mekanisme RDB dan AOF. 4. Gunakan model tunggal dan teknologi multiplexing untuk mengendalikan permintaan dengan cekap. 5. Strategi Pengoptimuman Prestasi termasuk algoritma LRU dan mod kluster.

Redis: caching, pengurusan sesi, dan banyak lagiRedis: caching, pengurusan sesi, dan banyak lagiMay 01, 2025 am 12:03 AM

Fungsi Redis terutamanya termasuk cache, pengurusan sesi dan fungsi lain: 1) Fungsi cache menyimpan data melalui memori untuk meningkatkan kelajuan bacaan, dan sesuai untuk senario akses frekuensi tinggi seperti laman web e-dagang; 2) Fungsi Pengurusan Sesi Saham data sesi dalam sistem yang diedarkan dan secara automatik membersihkannya melalui mekanisme masa tamat; 3) Fungsi lain seperti mod penerbitan-langganan, kunci dan kaunter yang diedarkan, sesuai untuk push mesej masa nyata dan sistem multi-threaded dan senario lain.

Redis: Meneroka fungsi dan faedah terasnyaRedis: Meneroka fungsi dan faedah terasnyaApr 30, 2025 am 12:22 AM

Fungsi teras Redis termasuk penyimpanan memori dan mekanisme ketekunan. 1) Penyimpanan memori menyediakan kelajuan membaca dan menulis yang sangat cepat, sesuai untuk aplikasi berprestasi tinggi. 2) Kegigihan memastikan data tidak hilang melalui RDB dan AOF, dan pilihannya berdasarkan keperluan aplikasi.

Operasi sisi pelayan Redis: Apa yang ditawarkannyaOperasi sisi pelayan Redis: Apa yang ditawarkannyaApr 29, 2025 am 12:21 AM

Redis'sserver-sideoperatiationofferfunctionsandtrigerforexecutingcomplexoperationsontheserver.1) functionsallowcustomoperationsinlua, javascript, orredis'ssscriptinglanguage, enhancingssionability

Redis: Pangkalan data atau pelayan? Demystifying perananRedis: Pangkalan data atau pelayan? Demystifying perananApr 28, 2025 am 12:06 AM

Redisisbothadatabaseandaserver.1) asadatabase, itusesin-memorystorageforfastaccess, idealforreal-timeapplicationsandcaching.2) asaserver, itsupportspub/submessagingandluascriptingforreal-timecommunicationandserver-sideoperations.

Redis: Kelebihan Pendekatan NoSQLRedis: Kelebihan Pendekatan NoSQLApr 27, 2025 am 12:09 AM

Redis adalah pangkalan data NoSQL yang menyediakan prestasi dan fleksibiliti yang tinggi. 1) Simpan data melalui pasangan nilai utama, sesuai untuk memproses data berskala besar dan kesesuaian yang tinggi. 2) Penyimpanan memori dan model tunggal threaded memastikan bacaan dan tulis dan atom yang cepat. 3) Gunakan mekanisme RDB dan AOF untuk meneruskan data, menyokong ketersediaan dan skala yang tinggi.

Redis: Memahami seni bina dan tujuannyaRedis: Memahami seni bina dan tujuannyaApr 26, 2025 am 12:11 AM

Redis adalah sistem penyimpanan struktur data memori, terutamanya digunakan sebagai pangkalan data, cache dan broker mesej. Ciri-ciri terasnya termasuk model tunggal, multiplexing I/O, mekanisme ketekunan, replikasi dan fungsi clustering. Redis biasanya digunakan dalam aplikasi praktikal untuk caching, penyimpanan sesi, dan beratur mesej. Ia dapat meningkatkan prestasinya dengan memilih struktur data yang betul, menggunakan saluran paip dan urus niaga, dan pemantauan dan penalaan.

Pangkalan Data Redis vs SQL: Perbezaan UtamaPangkalan Data Redis vs SQL: Perbezaan UtamaApr 25, 2025 am 12:02 AM

Perbezaan utama antara pangkalan data REDIS dan SQL ialah REDIS adalah pangkalan data dalam memori, sesuai untuk keperluan prestasi tinggi dan fleksibiliti; Pangkalan data SQL adalah pangkalan data relasi, sesuai untuk pertanyaan kompleks dan keperluan konsistensi data. Khususnya, 1) REDIS menyediakan akses data berkelajuan tinggi dan perkhidmatan caching, menyokong pelbagai jenis data, sesuai untuk pemprosesan data caching dan masa nyata; 2) Pangkalan data SQL menguruskan data melalui struktur jadual, menyokong pertanyaan kompleks dan pemprosesan transaksi, dan sesuai untuk senario seperti sistem e-dagang dan kewangan yang memerlukan konsistensi data.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

DVWA

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