sql >> Databáze >  >> NoSQL >> Redis

Skript Redis lua nefunguje

Odpověď na redis.call vrátí jako tabulku, která vypadá takto:{"ok": "string"} (pokud je typem samozřejmě řetězec)

Pro správnou kontrolu byste tedy měli změnit svůj kód na:

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

a zbytek kódu bude fungovat dobře.

Problém je v tomto:příkaz TYPE je jedním z mála příkazů, které vracejí odpověď redis typu „jednoduchý řetězec“ nebo „stav“ (typy odpovědí viz specifikace protokolu redis). V dokumentaci redis lua je uvedeno, že:

Redis status response -> Lua tabulka s jediným ok polem obsahujícím stav

Což se tady stalo.



  1. jak $project ObjectId na hodnotu řetězce v agregátu mongodb?

  2. MongoDB:Jak zjistit, zda pole pole obsahuje prvek?

  3. Úvod do datových struktur Redis:Bitmapy

  4. Jak psát unijní dotazy v mongoDB