Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Dopasowanie skanowania Redis

Dopasowanie skanowania Redis obsługuje tylko dopasowywanie stylu glob. Nie może dopasowywać wyrażeń regularnych. Aby osiągnąć swój cel, masz dwie możliwości:

  1. Skanuj wszystkie klucze i dopasuj po stronie klienta.
  2. Użyj skryptu Lua do skanowania i dopasowywania. Jako przykład możesz wypróbować następujący tekst:
redis-cli eval 'local res = redis.call("scan", ARGV[1]); local matches = {}; for i,v in ipairs(res[2]) do if v == string.match(v, ARGV[2]) then matches[#matches+1] = v end end res[2] = matches; return res' 0 cursor-starting-from-0 'Person:[^:]*'

Ten jednowierszowy zwraca wyniki dokładnie tak, jak wbudowane polecenie skanowania. Nie jestem ekspertem od Lua, a kod nie jest w pełni przetestowany.

Ponadto dopasowanie Lua NIE jest dopasowaniem do wyrażenia regularnego, chociaż może rozwiązać większość problemów. Musisz wziąć referencje Lua, aby sprawdzić, czy pasuje do twojego przypadku.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis ustawia TTL na klawiszach hSet

  2. Zadanie selerowe zawsze OCZEKUJE

  3. Redis:Wymagane uwierzytelnianie NOAUTH, ale nie ma ustawienia hasła

  4. Redis Połączenie przez gniazdo na Node.js

  5. Warunki pracy w Sidekiq