Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 34045|Jawab: 6

[Sumber] .NET menggunakan cache Redis untuk pemberitahuan kedaluwarsa

[Salin tautan]
Dipaparkan pada 2020-8-22 10:34:59 | | | |
Saat melakukan operasi berjangka waktu tertentu, kami membutuhkan umpan balik tentang hasilnya. Misalnya, pesanan secara otomatis dihapus setelah kedaluwarsa, pesanan dipuji secara otomatis setelah beberapa hari, pesanan yang belum dibayar ditutup setelah 15 menit, dll., yang dapat diselesaikan menggunakan beberapa kerangka kerja tugas berjangka waktu atau metode polling. Artikel ini menggunakan mekanisme pemberitahuan peristiwa kedaluwarsa cache fitur lanjutan Redis yang dikombinasikan dengan kode .NET/C# untuk menyelesaikan persyaratan bisnis.

Perkenalan

Skenario penggunaan: 1. Dalam bisnis pembayaran, pesanan yang belum dibayar ditutup secara otomatis 2. Pengingat kedaluwarsa cache

Secara umum, kita dapat menggunakan layanan pengaturan waktu untuk memproses penutupan otomatis pesanan yang belum dibayar, seperti memanggil antarmuka setiap menit untuk memproses pesanan yang belum dibayar dan kedaluwarsa, tetapi dalam hal ini, itu akan menghabiskan kinerja komputer, bahkan jika tidak ada pesanan, itu akan diproses setiap menit, dan penundaan maksimum waktu pemrosesan pesanan adalah 59 detik, dan layanan pengaturan waktu harus selalu tersedia

Jadi apa yang ingin kita lakukan hanya ketika ada pesanan yang belum dibayar dan kedaluwarsa dengan pemrosesan latensi rendah, kita dapat menggunakan mekanisme kedaluwarsa cache Redis untuk mendorong langganan.

Langganan Redis

Ubah notify-keyspace-events Ex dalam file konfigurasi redis.conf

Untuk menyimpan sumber daya cangkir, pemberitahuan peristiwa tidak diaktifkan secara default, dan defaultnya adalah notify-keyspace-events

# K pemberitahuan ruang kunci, <db>diawali dengan __keyspace@__
# Pemberitahuan peristiwa kunci, <db>diawali dengan __keysevent@__
# g del, expipre, rename dan jenis perintah generik lainnya, ...
# $string perintah
# l Perintah daftar
#s Atur perintah
# h Perintah hash
# Perintah Set yang Dipesan # Z
# x Peristiwa kedaluwarsa (dibuat setiap kali kunci kedaluwarsa)
# e peristiwa penggusuran (dihasilkan saat kunci dihapus saat memori penuh)
# Alias g$lshzxe, jadi "AKE" berarti semua peristiwa


notify-keyspace-events "kx" menunjukkan bahwa Anda ingin memantau peristiwa pembatalan untuk kunci. Mengatur parameter ke string AKE berarti mengirim semua jenis notifikasi.

Saya menginstal redis sebagai layanan di mesin saya, memodifikasi file konfigurasi redis.windows.conf, dan perlu memulai ulang konfigurasi layanan redis agar diterapkan.

Contoh kode .NET/C#

Paketnya adalah sebagai berikut:



Memohon



Mari kita coba menulis cache dengan redis-cli.





Bahkan, Anda juga dapat berlangganan pemberitahuan kedaluwarsa cache dengan menjalankan perintah berikut melalui redis-cli:




Saat N klien berlangganan pemberitahuan peristiwa kedaluwarsa cache, redis akan memberi tahu N pengguna tentang pesan kedaluwarsa yang sama, bukan hanya salah satu klien, seperti yang ditunjukkan pada gambar di bawah ini:



Unduhan kode sumber C#:

https://down.itsvse.com/item/17856.html

ringkasan

Redis pub/sub adalah mekanisme pesan yang tidak dapat diandalkan, tidak akan menyimpan informasi, hanya akan meneruskan secara online, dan pasti tidak ada mekanisme konfirmasi ack, dan hanya segmen langganan yang akan diteruskan, jadi Keyspace Notifications juga merupakan sistem notifikasi yang tidak dapat diandalkan, jika bisnis kita membutuhkan keandalan yang baik, maka ini bukan pilihan terbaik. Umumnya, kami merekomendasikan DLX (Dead-Letter-Exchange) RabbitMQ untuk mengimplementasikannya, yang merupakan fungsi antrean tertunda. Hanya saja solusi Redis lebih mudah diimplementasikan dan lebih murah untuk dioperasikan. Masih sangat nyaman bagi bisnis yang tidak membutuhkan keandalan tinggi.




Mantan:.NET Core 3.1 Instalasi Prompt Cerdas Cina
Depan:.NET tidak mendapatkan rakitan referensi lengkap
Dipaparkan pada 2020-8-29 14:33:18 |
Belajar belajar
Dipaparkan pada 2021-11-30 13:16:47 |
Belajar
Dipaparkan pada 2021-11-30 13:21:02 |
Redis pub/sub adalah mekanisme pesan yang tidak dapat diandalkan, tidak akan menyimpan informasi, hanya akan meneruskan secara online, dan pasti tidak ada mekanisme konfirmasi ack, dan hanya segmen langganan yang akan diteruskan, jadi Keyspace Notifications juga merupakan sistem notifikasi yang tidak dapat diandalkan, jika bisnis kita membutuhkan keandalan yang baik, maka ini bukan pilihan terbaik. Umumnya, kami merekomendasikan DLX (Dead-Letter-Exchange) RabbitMQ untuk mengimplementasikannya, yang merupakan fungsi antrean tertunda. Hanya saja solusi Redis lebih mudah diimplementasikan dan lebih murah untuk dioperasikan. Masih sangat nyaman bagi bisnis yang tidak membutuhkan keandalan tinggi.
Dipaparkan pada 2022-2-14 17:42:43 |
Lihat, pelajari
Dipaparkan pada 2022-3-2 15:25:00 |
Belajar
Dipaparkan pada 2022-7-27 16:40:13 |
Belajar belajar
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com