Czy istnieje funkcja w klejnotach redis-rb, która zwraca listę wszystkich kluczy przechowywanych w DB? Moim końcowym celem jest powtórzenie wszystkich moich par klucz/wartość i wykonanie na nich pewnych działań.Pobieranie listy wszystkich kluczy przechowywanych w Redis (Ruby)
18
A
Odpowiedz
22
Oczywiście, redis-rb udostępnia wszystkie polecenia Redis i reprezentuje je jako metody w obiekcie klienta.
redis.keys('*')
4
redis.keys
to zwraca wynik w postaci tablicy.
więcej info: http://www.rubydoc.info/github/ezmobius/redis-rb/Redis
12
Jeśli masz znaczną ilość zapisów w db, jądro zabije swoje redis.keys
ponieważ będzie brać zbyt dużo pamięci RAM.
To, czego potrzebujesz, to wydobywanie kluczy partiami. Redis-rb ma wspaniały sposób na to (nieobecne w REDiS sama)
redis.scan_each(match: 'user:*') do |resume_key_name|
resume_key_name #=> "user:12"
end
Jeśli chcesz wszystkie klucze, po prostu nie korzystać z opcji match
.
Powiązane problemy
- 1. Polecenie Redis do listy wszystkich subskrybentów zasubskrybowanych do kanału redis
- 2. Android: Pobieranie listy wszystkich plików określonego typu
- 3. Lista wszystkich niestandardowych danych przechowywanych w AppDomain
- 4. Java GSON: Uzyskiwanie listy wszystkich kluczy pod JSONObject
- 5. Pobieranie tylko określonych kluczy z kolekcji
- 6. pobieranie wszystkich zmiennych statycznych z klasy do tablicy/listy
- 7. Lista wszystkich procedur przechowywanych o nazwie schematu
- 8. Zwalnianie: pobieranie wszystkich wiadomości
- 9. Uzyskiwanie wszystkich kombinacji par z listy w Ruby
- 10. Wyprowadzanie klasy przechowywanych wartości do listy
- 11. Redis: Jak analizować listy wyników
- 12. Pobieranie obrazów w tle przy wyświetlaniu listy
- 13. Pobieranie listy załączników Log4J w czasie wykonywania
- 14. Pobieranie kluczy nadrzędnych z zagnieżdżonego słownika
- 15. Pytest: Pobieranie adresów wszystkich testów
- 16. Najlepszy sposób na przechowywanie listy obiektów java w Redis
- 17. ruby Array wartość pary kluczy?
- 18. Usuń tablicę kluczy w Ruby Hash
- 19. Zwracanie listy kluczy z błędami ModelState
- 20. StackExchange.Redis jak kwerendy wszystkich kluczy tylko na jednym db
- 21. Pobieranie listy tabel w pliku MS Access
- 22. Tworzenie listy wszystkich par
- 23. Redis cluster and zsets
- 24. Jak zmienić nazwę schematu z tabeli we wszystkich procedurach przechowywanych
- 25. Pobieranie przefiltrowanej listy procedur składowanych za pomocą komendy t-sql
- 26. Wywołanie procedur przechowywanych PL/pgSQL z Ruby on Rails
- 27. Najbardziej skuteczny sposób tworzenia połączonej listy z przechowywanych danych?
- 28. Pobieranie wszystkich plików z serwera FTP
- 29. C#: Pobieranie wszystkich plików obrazów do folderu
- 30. Pobieranie wszystkich elementów za pomocą DynamoDBMapper
To było dla mnie bardzo powolne; Powrót do bazy danych Redis za pomocą jedynie kluczy 5,6K zajęł około 15 sekund. –
@AbeVoelker Możesz użyć redis z 'pipelined', który będzie szybszy – fangxing
zobacz odpowiedź @Alex. prosty i prosty –