MGET

Mget



Redis Dizelerinin Açıklaması

Dizeler, Redis veritabanı tarafından sunulan en temel ve temel veri yapısıdır. Redis dizeleri, ikili güvenli bayt dizileridir. Java ve c#.net gibi programlama dillerinde bulunan normal dizelere çok benzerler. En önemlisi, Redis dizeleri, dizeler, tamsayılar, serileştirilmiş JSON'lar, XML'ler ve ikili değerler gibi sevdiğiniz hemen hemen her şeyi depolamak için kullanılabilir. Redis dize veri türü ikili güvenli olduğundan, resimler, videolar ve belgeler gibi ikili nesneler dizeler kullanılarak kolayca saklanabilir. Ayrıca, tek bir Redis dizesi, 512 MB'a kadar verileri tutabilir.







Ayrıca, Redis dize veri yapısı aşağıdaki kullanım durumlarında yaygın olarak kullanılır:



  • Önbelleğe almak
    • Oturum depolama
    • API yanıtları
    • HTML sayfaları
  • Tezgah
  • Bitmap uygulaması ve bit düzeyinde işlemler

En çok kullanılan string işlemleri SET, GET, MGET ve SETNX'tir. INCRBY ve INCRBYFLOAT komutları, Redis dize veri yapısı kullanılarak uygulanan sayaçları yönetmek için yaygın olarak kullanılır. Bu öğreticide, MGET komutu ayrıntılı olarak açıklanmıştır.



MGET Komutu Açıklandı

MGET komutu, verilen Redis anahtarlarının değerlerini almak için kullanılır. Argüman olarak bir veya daha fazla anahtarı kabul eder. Ayrıca, MGET komutu, N'nin belirtilen anahtar sayısı olduğu O(N) zaman karmaşıklığı üzerinde çalışır. MGET komutunun sözdizimi aşağıdaki gibidir:





MGET anahtarı [ anahtar ... ]

MGET komutunun yürütülmesi üzerine, belirtilen Redis anahtarlarında depolanan bir dizi değer döndürür. Anahtar yoksa, özel değeri döndürür. sıfır. Benzer şekilde, anahtar bir dize değeri tutmuyorsa, sıfır değer döndürülür.

Kullanım Örneği: Önbelleğe Alınmış Tüm API Yanıtlarını Getir

En son API yanıtlarını tutan bir önbellek uygulamak için Redis dize veri türünün kullanıldığı bir senaryo varsayalım. Gösteri amacıyla bazı sahte API yanıtlarını saklamak için SET komutunu kullanıyoruz.



Ayarlamak kukla ev sahibi / müşteriler 'ricky, bernard, mary, samuel, joe' Ayarlamak kukla ev sahibi / tedarikçiler 'jimmy, jeremy, andrew, hera' Ayarlamak kukla ev sahibi / faturalar '{'faturalar': [{'invoice_id': 1, 'invoice_payment': 1000}, {'invoice_id': 2, 'invoice_payment': 3400}]}'

Redis dize veri türünü kullanarak birkaç dize değeri ve serileştirilmiş bir JSON nesnesi depolarız.

Şimdi, her bir API çağrısındaki tüm yanıtları bir kerede almak için MGET komutunu kullanalım.

mget kukla ev sahibi / müşteriler / tedarikçiler kukla sunucu / faturalar

Çıktı:

1 ) 'ricky, bernard, mary, samuel, joe'

iki ) 'jimmy, jeremy, andrew, hera'

3 ) '{' faturalar ': [{' fatura_kimliği ': 1,' Fatura ödeme ':1000}, {' fatura_kimliği ': iki, ' Fatura ödeme ':3400}]}'

Beklendiği gibi, her anahtardaki değerler bir dizi olarak döndürülür.

Var Olmayan Bir Anahtar Belirtme

Belirtildiği gibi, MGET komutu özel değeri döndürür sıfır var olmayan bir anahtar sağlandığında. MGET komutuna “nonexistingkey” adında var olmayan bir anahtar belirleyelim ve bir önceki örneği aşağıdaki gibi çalıştıralım:

mget kukla ev sahibi / müşteriler / tedarikçiler kukla ev sahibi / faturalar varolmayan anahtar

Gördüğünüz gibi dizideki son değer sıfır bu, var olmayan Redis anahtarıyla ilişkilendirilir.

Genel olarak, MGET komutu, GET komutunu birkaç kez çağırmak yerine birden çok anahtarda depolanan dize değerlerini tek bir aramada almamız gerektiğinde ideal bir adaydır.

Çözüm

Özetle, MGET komutu, bir çağrıda birden çok anahtarda depolanan değerleri döndürmek için Redis dizesi veri yapısı üzerinde çalışır. Argüman olarak bir veya daha fazla Redis anahtarını kabul eder. Vurgulandığı gibi, MGET komutu O(N) zaman karmaşıklığında çalışır. Kullanım örneği, birden çok anahtarda depolanan çeşitli API yanıtlarını verimli bir şekilde almak için MGET komutunu nasıl kullanacağınızı gösterdi.