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

Skrypt Redis lua nie działa

Odpowiedź na redis.call zwraca jako tabelę, która wygląda tak:{"ok": "string"} (jeśli typ jest oczywiście ciągiem)

Więc aby poprawnie sprawdzić, powinieneś zmienić swój kod na:

local keyType = redis.call("TYPE", KEYS[1]).ok

a reszta kodu będzie działać poprawnie.

Problem polega na tym:polecenie TYPE jest jednym z niewielu poleceń, które zwracają odpowiedź redis „prosty ciąg” lub „status” (patrz specyfikacje protokołu redis dla typów odpowiedzi). W dokumentacji redis lua jest napisane, że:

Odpowiedź statusu Redis -> Tabela Lua z jednym ok polem zawierającym status

Co się tutaj wydarzyło.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. redis dump.rdb / zapisywanie małych plików

  2. Redis filtruj według zakresu, sortuj i zwróć najpierw 10

  3. Uzyskaj indeks elementu według wartości na liście redis

  4. 6 kluczowych wskaźników monitorowania Redis, które musisz obserwować

  5. Jak unieważnić części hierarchii (drzewa) danych w pamięci podręcznej Redis?