Untuk mengkonfigurasi kegigihan Redis, anda perlu mempertimbangkan snapshot RDB (REDIS Database) dan AOF (tambah fail sahaja). Inilah cara mengkonfigurasi setiap:
RDB snapshots:
Dayakan RDB: Secara lalai, RDB didayakan. Anda boleh mengkonfigurasinya dalam fail redis.conf
. Cari garis yang bermula dengan save
untuk menetapkan kekerapan gambar.
<code>save 900 1 save 300 10 save 60 10000</code>
Garis ini bermaksud bahawa Redis akan menyimpan dataset ke cakera jika salah satu syarat berikut dipenuhi:
Nama dan lokasi fail: Anda juga boleh menetapkan nama fail dan laluan di redis.conf
:
<code>dbfilename dump.rdb dir /var/lib/redis</code>
Mampatan: Fail RDB boleh dimampatkan untuk menjimatkan ruang cakera. Aktifkan atau lumpuhkan ini dalam konfigurasi:
<code>rdbcompression yes</code>
AOF (tambah fail sahaja):
Dayakan AOF: AOF dilumpuhkan secara lalai. Untuk mengaktifkannya, tetapkan appendonly
kepada yes
di redis.conf
:
<code>appendonly yes</code>
Nama fail dan lokasi: Sama dengan RDB, anda boleh menetapkan nama fail dan laluan:
<code>appendfilename "appendonly.aof" dir /var/lib/redis</code>
AOF REWRITE: Untuk mengawal apabila Redis melakukan penulisan semula AOF, gunakan auto-aof-rewrite-percentage
dan auto-aof-rewrite-min-size
:
<code>auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb</code>
Tetapan ini bermakna bahawa penulisan semula AOF dicetuskan apabila fail AOF semasa adalah 100% lebih besar daripada penulisan semula terakhir dan sekurang -kurangnya 64MB dalam saiz.
Dasar FSYNC: Tetapan appendfsync
mengawal berapa kerap Redis menulis data ke cakera:
<code>appendfsync everysec</code>
Pilihan termasuk always
, everysec
, dan no
. everysec
adalah pilihan biasa, mengimbangi prestasi dan keselamatan data.
Memilih antara RDB dan AOF untuk kegigihan Redis mempengaruhi prestasi dalam beberapa cara:
RDB:
AOF:
Kesan Prestasi: AOF boleh menjadi lebih intensif sumber kerana ia log setiap operasi menulis, yang membawa kepada I/O yang lebih kerap. Walau bagaimanapun, pencapaian prestasi dapat dikurangkan dengan dasar fsync
:
always
: Segerak menulis ke cakera untuk setiap arahan, menawarkan ketahanan yang tinggi tetapi memberi kesan yang ketara.everysec
: Menulis ke cakera setiap saat, memberikan keseimbangan yang baik antara prestasi dan keselamatan data.no
: Jangan sekali -kali FSYNC, bergantung pada sistem operasi untuk menulis data ke cakera, yang paling kurang selamat tetapi mempunyai kesan prestasi paling sedikit.Untuk mengoptimumkan kekerapan dan saiz gambar RDB di Redis, pertimbangkan strategi berikut:
Pengoptimuman Kekerapan:
Laraskan selang simpan: Ubah suai selang save
di redis.conf
untuk mengimbangi antara keselamatan data dan prestasi. Sebagai contoh, jika dataset anda tidak berubah dengan kerap, anda mungkin mengurangkan kekerapan:
<code>save 3600 1 save 300 100 save 60 10000</code>
INFO
untuk memantau metrik rdb_last_save_time
dan rdb_changes_since_last_save
. Laraskan selang simpan berdasarkan beban kerja anda.Pengoptimuman Saiz:
Mampatan: Dayakan mampatan RDB untuk mengurangkan saiz gambar:
<code>rdbcompression yes</code>
SET
dan bukan LIST
untuk menyimpan pelbagai elemen kadang -kadang boleh menghasilkan gambar yang lebih kecil.Petua Tambahan:
Untuk memastikan integriti data apabila menggunakan AOF di Redis, ikuti langkah -langkah ini:
1. Pilih dasar fsync
yang betul:
Tetapkan appendfsync
ke everysec
di redis.conf
untuk keseimbangan antara prestasi dan keselamatan data:
<code>appendfsync everysec</code>
appendfsync always
, tetapi sedar tentang kesan prestasi.2. AOF REWRITES:
Dayakan AOF AOF Rewrites untuk memastikan saiz fail boleh diurus dan meningkatkan integriti data:
<code>auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb</code>
BGREWRITEAOF
apabila diperlukan.3. AOF pemeriksaan rasuah:
Gunakan alat redis-check-aof
untuk mengesahkan integriti fail AOF. Jika rasuah dikesan, anda boleh membaiki fail:
<code>redis-check-aof --fix appendonly.aof</code>
4. Replikasi untuk redundansi:
Sediakan replikasi Redis untuk membuat pelbagai salinan data anda. Ini memastikan integriti data walaupun satu pelayan gagal:
<code>slaveof <masterip> <masterport></masterport></masterip></code>
5. Pemantauan dan Makluman:
6. Strategi Backup:
Dengan mengikuti langkah -langkah ini, anda dapat meningkatkan integriti data persediaan REDIS anda apabila menggunakan AOF untuk kegigihan.
Atas ialah kandungan terperinci Bagaimanakah saya mengkonfigurasi ketekunan Redis (RDB snapshots, AOF)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!