Redis: alat rahsia untuk pemprosesan log masa nyata yang cekap
Redis: Alat rahsia untuk pemprosesan log masa nyata yang cekap
Dengan populariti sistem log, pemprosesan log telah menjadi bahagian yang sangat penting dalam teknologi perisian. Log boleh memberikan maklum balas dan data masa nyata kepada pembangun, membantu mengesan masalah dalam program dengan cepat. Walau bagaimanapun, apabila skala perusahaan besar dan konkurensi sistem adalah tinggi, pemprosesan log menjadi tugas yang sangat mencabar. Penyelesaian pemprosesan log tradisional menggunakan pangkalan data hubungan untuk penyimpanan Walaupun penyelesaian ini boleh dilaksanakan, ia terdedah kepada kesesakan prestasi dalam senario konkurensi yang tinggi. Untuk menyelesaikan masalah ini, banyak syarikat telah mula menggunakan Redis sebagai alat untuk menyimpan dan memproses log.
Redis ialah sistem storan nilai kunci berprestasi tinggi Ia dicirikan dengan menyokong struktur data yang kaya, seperti rentetan, cincang, senarai, set, set tersusun, dll., yang boleh memenuhi hampir semua keperluan dalam penyimpanan dan pemprosesan log. . Selain itu, Redis mempunyai banyak kelebihan seperti membaca dan menulis berkelajuan tinggi, pemprosesan serentak tinggi, dan sokongan untuk ketekunan data Ia sangat sesuai sebagai alat untuk pemprosesan log masa nyata.
Seterusnya, kami akan memperkenalkan secara terperinci cara Redis memproses log masa nyata dan memberikan contoh kod yang berkaitan:
1 Redis sebagai baris gilir log
Apabila log masa nyata yang besar-besaran perlu diproses dengan cepat, strategi yang biasa adalah untuk. gunakan Log giliran. Redis menyokong berbilang struktur data seperti senarai dan set, antaranya struktur data senarai sesuai dengan ciri baris gilir. Kita boleh menolak rekod log ke senarai dan kemudian membaca rekod daripada senarai untuk diproses. Kaedah ini mempunyai kelebihan kependaman rendah, ketersediaan tinggi dan penggunaan teragih yang mudah.
Berikut ialah contoh kod Java yang menunjukkan cara untuk menolak rekod log ke dalam struktur data senarai Redis:
Jedis jedis = new Jedis("localhost"); String log = "2021-06-01 13:30:29 INFO - User Login"; jedis.rpush("log_queue", log);
Di sini kami menggunakan klien Java Redis Jedis, mula-mula menyambung ke contoh Redis, dan kemudian gunakan perintah rpush untuk menolak rekod log ke log_queue Tolak rekod log ke dalam struktur data senarai.
Seterusnya, kami membaca rekod daripada log_queue dan memprosesnya:
while (true) { List<String> logs = jedis.brpop(0, "log_queue"); for (String log : logs) { System.out.println(log); } }
Di sini, rekod log muncul dari penghujung log_queue dengan melaksanakan arahan brpop secara berterusan. Apabila baris gilir kosong, arahan brpop menyekat sehingga rekod baharu ditolak ke dalam baris gilir. Dengan cara ini kita boleh mencapai tujuan mendapatkan log masa nyata.
2. Redis sebagai pengumpul log
Apabila kita perlu mengumpul log aplikasi, kita boleh menggunakan Redis sebagai pengumpul log berpusat. Secara khusus, kita boleh menentukan pemproses log dalam aplikasi, yang bertanggungjawab untuk menolak rekod log program semasa ke dalam contoh Redis. Pada masa yang sama, proses lain boleh membaca dan memproses semua rekod log daripada Redis. Pendekatan ini mempunyai kelebihan gandingan rendah, pengembangan mudah, dan penyepaduan mudah.
Berikut ialah contoh kod Java yang menunjukkan cara menggunakan rangka kerja log4j untuk menolak log masuk ke dalam Redis:
1 Tambah kebergantungan dalam fail pom.xml:
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.6.1</version> </dependency>
2
3 , takrifkan logger log4j dalam kod Java, dan tolak log masuk ke Redis:log4j.appender.redis=org.apache.log4j.net.SocketAppender log4j.appender.redis.remoteHost=localhost log4j.appender.redis.port=6379 log4j.appender.redis.reconnectionDelay=10000 log4j.appender.redis.locationInfo=true log4j.appender.redis.layout=org.apache.log4j.PatternLayout log4j.appender.redis.layout.ConversionPattern=%m%n
Atas ialah kandungan terperinci Redis: alat rahsia untuk pemprosesan log masa nyata yang cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Mod Redis cluster menyebarkan contoh Redis ke pelbagai pelayan melalui sharding, meningkatkan skalabilitas dan ketersediaan. Langkah -langkah pembinaan adalah seperti berikut: Buat contoh Redis ganjil dengan pelabuhan yang berbeza; Buat 3 contoh sentinel, memantau contoh redis dan failover; Konfigurasi fail konfigurasi sentinel, tambahkan pemantauan maklumat contoh dan tetapan failover; Konfigurasi fail konfigurasi contoh Redis, aktifkan mod kluster dan tentukan laluan fail maklumat kluster; Buat fail nodes.conf, yang mengandungi maklumat setiap contoh Redis; Mulakan kluster, laksanakan perintah Buat untuk membuat kluster dan tentukan bilangan replika; Log masuk ke kluster untuk melaksanakan perintah maklumat kluster untuk mengesahkan status kluster; buat

Redis menggunakan jadual hash untuk menyimpan data dan menyokong struktur data seperti rentetan, senarai, jadual hash, koleksi dan koleksi yang diperintahkan. Redis berterusan data melalui snapshots (RDB) dan menambah mekanisme tulis sahaja (AOF). Redis menggunakan replikasi master-hamba untuk meningkatkan ketersediaan data. Redis menggunakan gelung acara tunggal untuk mengendalikan sambungan dan arahan untuk memastikan atom dan konsistensi data. Redis menetapkan masa tamat tempoh untuk kunci dan menggunakan mekanisme memadam malas untuk memadamkan kunci tamat tempoh.

Langkah-langkah untuk menyelesaikan masalah yang tidak dapat dijumpai oleh Redis-Server: periksa pemasangan untuk memastikan Redis dipasang dengan betul; Tetapkan pembolehubah persekitaran redis_host dan redis_port; Mulakan Redis Server Redis-server; Semak sama ada pelayan sedang menjalankan ping redis-cli.

Redis Cluster adalah model penempatan yang diedarkan yang membolehkan pengembangan mendatar contoh Redis, dan dilaksanakan melalui komunikasi antara nod, ruang utama slot hash, pilihan raya nod, replikasi master-hamba dan pengalihan arahan: Komunikasi antara nod: Komunikasi rangkaian maya direalisasikan melalui bas kluster. Slot hash: Membahagikan ruang utama ke dalam slot hash untuk menentukan nod yang bertanggungjawab untuk kunci. Pilihan Raya Nod: Sekurang -kurangnya tiga nod induk diperlukan, dan hanya satu nod induk aktif yang dipastikan melalui mekanisme pilihan raya. Replikasi Master-Slave: Node Master bertanggungjawab untuk menulis permintaan, dan nod hamba bertanggungjawab untuk permintaan membaca dan replikasi data. Pengalihan Perintah: Pelanggan menghubungkan ke nod yang bertanggungjawab untuk kunci, dan nod mengalihkan permintaan yang salah. Penyelesaian masalah: Pengesanan kesalahan, menandakan garis dan

Untuk melihat nombor versi REDIS, anda boleh menggunakan tiga kaedah berikut: (1) Masukkan arahan INFO, (2) Mulakan pelayan dengan pilihan --version, dan (3) Lihat fail konfigurasi.

Redis memerintahkan set (ZSET) digunakan untuk menyimpan elemen yang diperintahkan dan disusun mengikut skor yang berkaitan. Langkah -langkah untuk menggunakan ZSET termasuk: 1. Buat zset; 2. Tambah ahli; 3. Dapatkan skor ahli; 4. Dapatkan kedudukan; 5. Dapatkan ahli dalam julat ranking; 6. Padam ahli; 7. Dapatkan bilangan elemen; 8. Dapatkan bilangan ahli dalam julat skor.

Redis menggunakan lima strategi untuk memastikan keunikan kekunci: 1. Pemisahan ruang nama; 2. Struktur data hash; 3. Tetapkan struktur data; 4. Karakter Khas Kekunci String; 5. Pengesahan skrip Lua. Pilihan strategi khusus bergantung kepada organisasi data, prestasi, dan keperluan skalabilitas.

Untuk melihat semua kunci di Redis, terdapat tiga cara: Gunakan perintah kunci untuk mengembalikan semua kunci yang sepadan dengan corak yang ditentukan; Gunakan perintah imbasan untuk melangkah ke atas kunci dan kembalikan satu set kunci; Gunakan arahan maklumat untuk mendapatkan jumlah kunci.
