Czy istnieje sposób wydrukowania liczby kluczy w Redis?
Jestem świadomy
keys *
Ale to wydaje się nieco ciężkie. - Biorąc pod uwagę, że Redis jest magazynem kluczowych wartości, być może jest to jedyny sposób, aby to zrobić. Ale nadal chciałbym zobaczyć coś podobnego do
count keys *
Odpowiedzi:
Możesz wydać polecenie INFO, które zwróci informacje i statystyki dotyczące serwera. Zobacz tutaj przykładowe dane wyjściowe.
Jak wspomniano w komentarzach mVChr, możesz używać
info keyspace
bezpośrednio w redis-cli.źródło
redis-cli INFO Keyspace | grep ^db
DBSIZE
zwraca liczbę kluczy i jest łatwiejsza do przeanalizowania.Wada: jeśli klucz wygasł, nadal może się liczyć.
http://redis.io/commands/dbsize
źródło
KEYS *
wyklucza wygasły klucz. Redis może również aktywnie eksmitować niektóre wygasłe klucze, ale niekoniecznie wszystkie.OSTRZEŻENIE: Nie uruchamiaj tego na maszynie produkcyjnej.
Na komputerze z systemem Linux:
Uwaga: Jak wspomniano w komentarzach poniżej, jest to operacja O (N), więc w dużej bazie danych z wieloma kluczami nie należy jej używać. W przypadku mniejszych wdrożeń powinno być dobrze.
źródło
Aby uzyskać całkowitą liczbę kluczy, użyj poniższego polecenia:
źródło
Użyj
DBSIZE
tego da ci kluczaby przeczytać więcej http://redis.io/commands/dbsize
źródło
Od wersji Redis 2.6 lua jest obsługiwana, możesz uzyskać taką liczbę kluczy wieloznacznych
zobacz polecenie eval
źródło
KEYS
do liczenia kluczy (z prefiksem lub bez) jest jak wylewanie dziecka z kąpielą.#
w tym kodzie jest operatorem długości .dbsize()
zwraca całkowitą liczbę kluczy.Możesz szybko oszacować liczbę kluczy pasujących do danego wzorca, próbując losowo klucze, a następnie sprawdzając, jaka część z nich pasuje do wzorca.
Przykład w Pythonie; liczenie wszystkich kluczy zaczynających się od
prefix_
:Nawet
iter=100
daje przyzwoitą ocenę w moim przypadku, ale jest bardzo szybka w porównaniu dokeys prefix_
.Ulepszeniem jest próbkowanie 1000 kluczy przy każdym żądaniu, ale zachowaj łączną liczbę, aby po dwóch żądaniach podzielić przez 2000, po trzech żądaniach podzielić przez 3000. Zatem, jeśli aplikacja jest zainteresowana łączną liczbą dopasowania kluczy dość często, to za każdym razem będzie coraz bliżej prawdziwej wartości.
źródło
Po wersji Redis 2.6 wynik polecenia INFO jest dzielony na sekcje. W sekcji „przestrzeń kluczowa” znajdują się pola „klucze” i „wygasłe klucze”, które wskazują liczbę kluczy.
źródło
źródło