Redis Hincrby

Redis Hincrby

Manipulacja Hash Redis

Hash Redis można zidentyfikować jako strukturę danych dotyczących wartości w terenie. Można to przechowywać w określonym kluczu Redis, jak pokazano na poniższej ilustracji:

Zwykle wartości pola skrótu mogą przechowywać dane ciągów, liczby całkowitej i pływakowej. Jedną z operacji atomowych, które możemy wykonać w skrótach, jest przyrost lub zmniejszenie wartości liczb całkowitych przypisanych do danego pola skrótu.

Polecenie Hincrby służy do wykonania przyrostu/zmniejszenia wartości liczb całkowitych. W poniższych sekcjach omówimy więcej o praktycznym wykorzystaniu polecenia Hincrby Handh.

Polecenie Hincrby

Składnia:
Hincrby redis_key HASH_FIELD_NAME increment_by_value

redis_key: Klucz na najwyższym poziomie sklepu Redis

Hash_field_name: Unikalny identyfikator pola skrótu

increment_by_value: Wartość liczb całkowita argumentu przyrostowego

Wartość zwracana polecenia Hincrby jest liczbą całkowitą. Jest to wartość pola skrótu po wykonaniu operacji. increment_by_value Argument potwierdza 64-bitowe podpisane liczby całkowite, które umożliwiają podanie liczby dodatnich i ujemnych.

Kiedy dane pole skrótu nie istnieje

Powiedzmy, że mamy klawisz Hash Redis Użytkownik: 001 z jednym polem wymienionym ID. Wartość ID pole to 10. Jeśli spróbujemy zwiększyć wartość skrótu o 5 dla nieistniejącego klucza wiek, Redis utworzy nowe pole wiek i przypisz jego wartość do 5.

Gdy określony klucz Redis nie istnieje

Załóżmy, że przekazujemy klucz jako Użytkownik: 002 do polecenia Hincrby z polem wiek i wartość przyrostowa 10. Od Użytkownik: 002 Klucz nie jest dostępny w sklepie Redis, utworzy nowy klucz Użytkownik: 002 z polem wieku. Wartość pola wiekowego będzie 10 która jest wartością argumentu przyrostowego.

Praktyczne użycie

Istnieje wiele rzeczywistych przypadków użycia polecenia Hincrby Hash:

  • Liczniki odwiedzin w aplikacjach internetowych
  • Nowe przypisanie identyfikacji użytkownika
  • Blokowanie wielu prób logowania
  • Śledź Status wykorzystania i rozliczeń
  • Zaktualizuj jednostki koszyków

Główną zaletą operacji Hincrby jest to, że nie potrzebuje on wyraźnej operacji odczytu, aby zaktualizować wartość skrótu. Możesz bezpośrednio zaktualizować wartość skrótu sklepu Redis. To sprawia, że ​​operacje są naprawdę szybkie.

Przykład 01 - Uchwycenie użytkowania i kosztu na użytkownika

Załóżmy, że musimy przechowywać dane dotyczące użytkowania i kosztu na użytkownika w danym systemie. Dlatego zidentyfikujemy każdego użytkownika za pomocą klucza Redis. Wykorzystanie i koszty będą pola skrótu dla tego konkretnego klucza Redis.

HMSET Użytkownik: 001 Zastosowanie 50 Koszt 1500

Możemy użyć polecenia HMSET HASH, aby ustawić wiele pól dla skrótu.

Sprawdźmy, czy użytkownik: 001 Hash jest odpowiednio przechowywany w magazynie danych.

HGETALL Użytkownik: 001

Wyjście:

Załóżmy, że użytkownik użył kolejnych 10 jednostek zasobów w systemie i kosztowałoby to kolejne 500 dolarów. Teraz możemy łatwo użyć polecenia Hincrby Hash, aby zaktualizować dane dla Użytkownik: 001.

Użytkownik Hincrby: 001 Zastosowanie 10
Użytkownik Hincrby: 001 Koszt 500

Wyjście:

Sprawdźmy użytkownika: 001 Wartości skrótu.

HGETALL Użytkownik: 001

Wyjście:

Przykład 02 - Zmniejszenie liczby jednostek w koszyku

W koszykach zawsze musimy wykonywać operacje zmniejszania liczby elementów, gdy użytkownik usuwa element. Przechowujmy liczbę przedmiotów Użytkownik: 002.

HMSET Użytkownik: 002 ITUTA 10 ITETBB 5

W takim przypadku przypisaliśmy ITEMA i ITEMB liczy się odpowiednio jako 10 i 5. Sprawdźmy dane użytkownika: 002.

HGETALL Użytkownik: 002

Wyjście:

Załóżmy, że Użytkownik: 002 Usuwa 2 pozyty i 5 pozycji. Polecenie Hincrby może być użyte do wykonywania tej operacji zmniejszania, przekazując liczby całkowitego -2 i -5 jako argumenty przyrostowe.

Hincrby Użytkownik: 002 ITEMA -2
Hincrby Użytkownik: 002 ITUTB -5

Wyjście:

Polecenie Hincrby jest potężne i wydajne, w których zarówno operacje przyrostowe, jak i zmniejszające można wykonać za pomocą tego samego polecenia z podpisanym argumentem przyrostowym. To polecenie ma stałą złożoność czasu. Dlatego naprawdę szybkie jest wykonywanie operacji przyrostu/zmniejszenia w skrótach.

Wniosek

Redis może przechowywać różne typy struktur danych dla określonego klucza. Skróty są jedną z najpopularniejszych struktur danych używanych w bazach danych Redis. Skrótów może być używane do skutecznego reprezentowania i manipulowania prostymi obiektami i danymi. Redis obsługuje kilka operacji skrótu. Hincrby jest jednym z popularnych poleceń do zwiększania i zmniejszania wartości liczb całkowitych dla danego pola skrótu. Obsługuje 64-bitowe liczby całkowite jako wartość przyrostowa. Stąd zarówno operacje przyrostowe, jak i spadkowe można wykonać za pomocą tego samego polecenia.