redis数据库把它分散到两台机器
阿神
阿神 2017-04-21 10:57:02
0
6
639

我有一个4G的redis数据库,现在已经存在,我想要把它分散到两台机器,一台机器2G,该怎么做?

看了一下redis cluster,都是讲单点失败,主从复制,这个不是我的需求。

sf的redis服务器是多大的内存?

阿神
阿神

闭关修行中......

membalas semua(6)
大家讲道理

Tidak pasti klien yang anda gunakan berbeza yang mempunyai pelaksanaan teragih yang paling asas, tetapi ini adalah pelaksanaan klien Apabila menambah dan memadamkan nod, anda perlu mengira semula cincang dan memindahkan data itu sendiri. Redis 3 akan mempunyai sokongan pelayan, yang akan menjadikannya lebih mudah.

Pada asasnya, pelaksanaan pelanggan semasa adalah berdasarkan pencincangan yang konsisten seperti yang dikatakan @TechAd Sebagai contoh, Redis::Distributed tersedia untuk pelanggan ruby ​​​​Ia juga sangat mudah untuk memisahkan data 4G mengikut keperluan anda . https sudah tersedia ://github.com/yankov/redis-migra... Anda boleh menggunakannya secara langsung Mari kita lihat pelaksanaannya.

Semoga ia membantu.

巴扎黑

Adalah disyorkan agar anda mencari algoritma berkaitan pencincangan yang konsisten Idea umum adalah untuk membuat laluan pada klien, membuat cincang untuk kunci, dan kemudian mod 2, menyimpan nilai kunci kepada 0 dan 1 masing-masing. pada dua mesin , perkara yang sama berlaku apabila membaca. Anda boleh rujuk memcache, saya akan berikan pautan rujukan http://blogread.cn/it/article/5271

大家讲道理

Anda boleh menggunakan pendekatan 3L, atau cara paling langsung ialah memisahkan data pada lapisan perniagaan dan menulisnya dalam konfigurasi Ini akan menjadi sangat mudah apabila membelah pada masa hadapan dan logiknya adalah mudah perlu melakukannya Diedarkan, disyorkan untuk menggunakan mongoDB

PHPzhong

Jika anda tidak memerlukan pepline, disyorkan untuk menggunakan https://github.com/twitter/twemproxy proksi keluar Twitter, pencincangan automatik, failover automatik

刘奇

Tanya, adakah twemproxy tidak menyokong penukaran aktif/siap sedia automatik?

巴扎黑

如果你是用redis cluster来做这个数据迁移的话,可以看看其官方的介绍:
Dengan mengandaikan anda mempunyai set data sedia ada anda dibahagikan kepada N induk, di mana N=1 jika anda tidak mempunyai serpihan sedia ada, langkah berikut diperlukan untuk memindahkan set data anda ke Redis Cluster:
Hentikan pelanggan anda. Tiada pemindahan langsung automatik ke Kluster Redis boleh dilakukan pada masa ini. Anda mungkin boleh melakukannya dengan mengatur migrasi langsung dalam konteks aplikasi / persekitaran anda.
Hasilkan fail tambah sahaja untuk semua induk N anda menggunakan arahan BGREWRITEAOF dan tunggu fail AOF dijana sepenuhnya.
Simpan fail AOF anda dari aof-1 ke aof-N di suatu tempat. Pada ketika ini, anda boleh menghentikan kejadian lama anda jika anda mahu (ini berguna kerana dalam penggunaan bukan maya anda sering perlu menggunakan semula komputer yang sama).
Buat Kluster Redis yang terdiri daripada N tuan dan sifar hamba. Nanti awak tambah budak. Pastikan semua nod anda menggunakan fail tambah sahaja untuk kegigihan.
Hentikan semua nod kluster, gantikan fail tambah sahaja mereka dengan fail tambah hanya sedia ada anda, aof-1 untuk nod pertama, aof-2 untuk nod kedua, sehingga aof-N.
Mulakan semula nod Kluster Redis anda dengan fail AOF baharu. Mereka akan mengadu bahawa terdapat kunci yang tidak sepatutnya ada mengikut konfigurasi mereka.
Gunakan perintah redis-trib fix untuk membetulkan gugusan supaya kunci akan dipindahkan mengikut slot cincang setiap nod adalah berwibawa atau tidak.
Gunakan semakan redis-trib pada penghujung untuk memastikan kluster anda ok.
Mulakan semula pelanggan anda yang diubah suai untuk menggunakan perpustakaan pelanggan Redis Cluster aware.w

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!