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:
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.