Ce face OBJECT ENCODING / IDLETIME / FREQ
OBJECT ENCODING spune cum este stocată intern valoarea. Un string poate fi int, embstr (texte scurte, până la 44 de octeți) sau raw. Hash-urile, listele, seturile și sorted set-urile mici folosesc listpack (compact), iar cele mari trec la hashtable, quicklist sau skiplist. Seturile de numere mici pot fi intset.
OBJECT IDLETIME întoarce câte secunde au trecut de la ultimul acces la cheie (util pentru a găsi chei uitate). OBJECT FREQ (Redis 4.0.0+) dă contorul de frecvență, dar doar dacă maxmemory-policy este o politică LFU; altfel întoarce o eroare.
Parametri
| Parametru | Descriere |
|---|---|
ENCODING |
Codificarea internă a valorii. |
IDLETIME |
Secunde de la ultimul acces (nu merge cu o politică LFU). |
FREQ |
Frecvența logaritmică de acces (doar cu politică LFU). |
REFCOUNT |
Numărul de referințe interne la valoare (rar folosit). |
Ce returnează
Codificarea ca șir sau un (integer) pentru IDLETIME/FREQ/REFCOUNT; (nil) dacă cheia nu există.
Exemple
Exemplul 1: Codificări pentru string-uri
Un număr se salvează ca int, un text scurt ca embstr.
SET varsta 31
OBJECT ENCODING varsta
SET nume Ana
OBJECT ENCODING nume
Ieșire în redis-cli
127.0.0.1:6379> SET varsta 31
OK
127.0.0.1:6379> OBJECT ENCODING varsta
"int"
127.0.0.1:6379> SET nume Ana
OK
127.0.0.1:6379> OBJECT ENCODING nume
"embstr"
Exemplul 2: Structuri mici și chei neaccesate
Un hash mic stă compact în listpack, iar un set cu numere în intset. Cheia raport:vechi nu a fost atinsă de aproape o zi.
HSET profil:ana nume Ana oras Iasi
OBJECT ENCODING profil:ana
SADD note 9 10 8
OBJECT ENCODING note
OBJECT IDLETIME raport:vechi
Ieșire în redis-cli
127.0.0.1:6379> HSET profil:ana nume Ana oras Iasi
(integer) 2
127.0.0.1:6379> OBJECT ENCODING profil:ana
"listpack"
127.0.0.1:6379> SADD note 9 10 8
(integer) 3
127.0.0.1:6379> OBJECT ENCODING note
"intset"
127.0.0.1:6379> OBJECT IDLETIME raport:vechi
(integer) 84210
Greșeli frecvente
OBJECT IDLETIMEdă eroare când serverul folosește o politică LFU, iarOBJECT FREQdă eroare când nu folosește una.- Codificarea se schimbă automat când structura crește peste pragurile
*-max-listpack-entries/*-max-listpack-value; nu o poți forța cu o comandă.
Comenzi înrudite
TYPE: Arată tipul valorii unei chei: string, list, set, zset, hash, stream sau none dacă nu există.INFO: Afișează informații și statistici despre server: versiune, memorie, clienți, persistență, replicare și chei pe baze de date.CONFIG GET / CONFIG SET: Citește (CONFIG GET) sau schimbă (CONFIG SET) setările serverului în timp ce rulează, fără repornire.