Rumah > pangkalan data > Redis > Bagaimanakah saya mengkonfigurasi ketekunan Redis (RDB snapshots, AOF)?

Bagaimanakah saya mengkonfigurasi ketekunan Redis (RDB snapshots, AOF)?

百草
Lepaskan: 2025-03-14 18:04:16
asal
574 orang telah melayarinya

Bagaimanakah saya mengkonfigurasi kegigihan Redis (gambar RDB, AOF)?

Untuk mengkonfigurasi kegigihan Redis, anda perlu mempertimbangkan snapshot RDB (REDIS Database) dan AOF (tambah fail sahaja). Inilah cara mengkonfigurasi setiap:

RDB snapshots:

  1. 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>
    Salin selepas log masuk

    Garis ini bermaksud bahawa Redis akan menyimpan dataset ke cakera jika salah satu syarat berikut dipenuhi:

    • 900 saat (15 minit) telah berlalu dan sekurang -kurangnya 1 kunci telah berubah.
    • 300 saat (5 minit) telah berlalu dan sekurang -kurangnya 10 kunci telah berubah.
    • 60 saat (1 minit) telah berlalu dan sekurang -kurangnya 10,000 kunci telah berubah.
  2. Nama dan lokasi fail: Anda juga boleh menetapkan nama fail dan laluan di redis.conf :

     <code>dbfilename dump.rdb dir /var/lib/redis</code>
    Salin selepas log masuk
  3. Mampatan: Fail RDB boleh dimampatkan untuk menjimatkan ruang cakera. Aktifkan atau lumpuhkan ini dalam konfigurasi:

     <code>rdbcompression yes</code>
    Salin selepas log masuk
    Salin selepas log masuk

AOF (tambah fail sahaja):

  1. Dayakan AOF: AOF dilumpuhkan secara lalai. Untuk mengaktifkannya, tetapkan appendonly kepada yes di redis.conf :

     <code>appendonly yes</code>
    Salin selepas log masuk
  2. Nama fail dan lokasi: Sama dengan RDB, anda boleh menetapkan nama fail dan laluan:

     <code>appendfilename "appendonly.aof" dir /var/lib/redis</code>
    Salin selepas log masuk
  3. 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>
    Salin selepas log masuk
    Salin selepas log masuk

    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.

  4. Dasar FSYNC: Tetapan appendfsync mengawal berapa kerap Redis menulis data ke cakera:

     <code>appendfsync everysec</code>
    Salin selepas log masuk
    Salin selepas log masuk

    Pilihan termasuk always , everysec , dan no . everysec adalah pilihan biasa, mengimbangi prestasi dan keselamatan data.

Apakah implikasi prestasi memilih RDB berbanding AOF untuk kegigihan Redis?

Memilih antara RDB dan AOF untuk kegigihan Redis mempengaruhi prestasi dalam beberapa cara:

RDB:

  • Kesan Prestasi: Gambar RDB pada umumnya kurang berintensifkan sumber semasa operasi biasa kerana mereka menulis data secara pukal pada selang masa yang telah ditetapkan. Ini bermakna Redis tidak perlu melakukan operasi I/O untuk setiap arahan menulis.
  • Masa Pemulihan: RDB snapshots mengambil sedikit masa untuk pulih dari, kerana keseluruhan dataset dimuatkan ke dalam memori sekaligus.
  • Keselamatan Data: RDB kurang selamat dari segi ketahanan data. Jika Redis terhempas di antara gambar, anda mungkin kehilangan data dari titik simpan terakhir.

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.
  • Masa Pemulihan: Fail AOF boleh mengambil masa lebih lama untuk pulih dari kerana Redis perlu memainkan semula semua operasi menulis untuk membina semula dataset.
  • Keselamatan Data: AOF menawarkan keselamatan data yang lebih baik kerana ia log setiap operasi, meminimumkan kehilangan data sekiranya berlaku kemalangan.

Bagaimanakah saya dapat mengoptimumkan kekerapan dan saiz gambar RDB di Redis?

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>
    Salin selepas log masuk
  • Pantau dan Laraskan: Gunakan arahan 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>
    Salin selepas log masuk
    Salin selepas log masuk
  • Pemilihan Jenis Data: Gunakan struktur data dengan bijak. Sebagai contoh, menggunakan SET dan bukan LIST untuk menyimpan pelbagai elemen kadang -kadang boleh menghasilkan gambar yang lebih kecil.
  • Tamat tempoh data: Melaksanakan TTL (Masa untuk hidup) untuk kunci yang boleh dikeluarkan dengan selamat untuk mengurangkan saiz dataset dan, akibatnya, snapshot RDB.

Petua Tambahan:

  • Gambar tambahan: Jika boleh, gunakan gambar tambahan untuk mengurangkan kesan penciptaan snapshot pada prestasi. Ciri ini boleh didapati di Redis Enterprise.
  • Elakkan gambar besar: Jika dataset anda sangat besar, pertimbangkan untuk memisahkannya dalam pelbagai contoh redis untuk menguruskan saiz snapshot.

Apakah langkah -langkah yang perlu saya ambil untuk memastikan integriti data apabila menggunakan AOF di Redis?

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>
    Salin selepas log masuk
    Salin selepas log masuk
  • Jika kehilangan data adalah kritikal, pertimbangkan 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>
    Salin selepas log masuk
    Salin selepas log masuk
  • Anda juga boleh mencetuskan penulisan semula secara manual menggunakan perintah 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>
    Salin selepas log masuk
  • Melaksanakan skrip untuk memeriksa dan membaiki fail AOF secara kerap, terutamanya selepas memulakan pelayan.

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>
    Salin selepas log masuk
  • Gunakan Sentinel untuk ketersediaan tinggi dan failover automatik.

5. Pemantauan dan Makluman:

  • Pantau saiz fail dan integriti AOF menggunakan alat pemantauan Redis seperti Redis Insight atau alat pihak ketiga seperti Prometheus dan Grafana.
  • Sediakan makluman untuk pertumbuhan atau kesilapan AOF yang luar biasa, yang boleh menunjukkan isu -isu dengan integriti data.

6. Strategi Backup:

  • Melaksanakan strategi sandaran biasa yang merangkumi kedua -dua gambar AOF dan RDB. Ini menyediakan pelbagai lapisan perlindungan data.
  • Simpan sandaran di lokasi yang berbeza untuk melindungi kegagalan pusat data.

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan