- Většina (ale ne všechny) objekty používá klíč
- Používání jmenných prostorů
- Načítání všech existujících klíčů
Podobně jako u jiných nerelačních databázových strojů může být někdy obtížné pochopit, jak Redis zpracovává datové struktury a asociace. To platí zejména při srovnání Redis s tradičnějšími relačními databázemi s tabulkami v karanténě, z nichž každá obsahuje více řádků a sloupců pro uložení dat.
Protože Redis není relační, vše v systému je nakonfigurováno pomocí základního key/value páry na nejjednodušší úrovni. Zejména během vývoje může být obtížné sledovat vše, co již v databázi existuje, takže v tomto krátkém tutoriálu pokryjeme metodu pro získání všech keys z databáze Redis pomocí několika jednoduchých příkazů.
Většina (ale ne všechny) objekty používá klíč
U naprosté většiny datových úložišť s Redis budou data uložena v jednoduchém key/value pár. To se nejlépe ukáže pomocí redis-cli (rozhraní příkazového řádku) pomocí GET a SET příkazy.
Můžeme například chtít uložit nějaké informace o books , například title a author z několika našich oblíbených.
> SET title "The Hobbit"
OK
> SET author "J.R.R. Tolkien"
OK
title a author jsou keys jsme nastavili a skutečné hodnoty řetězce byly specifikovány poté. Můžeme je tedy zobrazit pomocí GET , asi takhle:
> GET title
"The Hobbit"
> GET author
"J.R.R. Tolkien"
Použití jmenných prostorů
To je všechno v pořádku, ale jak přidáme další knihu? Nemůžeme znovu použít stejný title a author nebo přepíšeme stávající data. Místo toho můžeme použít syntaxi jmenného prostoru pomocí : oddělovač a každý title nebo author zadejte jedinečný číselný key :
> SET title:1 "The Hobbit"
OK
> SET author:1 "J.R.R. Tolkien"
OK
> SET title:2 "The Silmarillion"
OK
> SET author:2 "The Silmarillion"
OK
Nyní pomocí GET vyžaduje přidání jedinečného číselného keys také:
> GET title:1
"The Hobbit"
> GET title:2
"The Silmarillion"
Načítání všech existujících klíčů
Jak se ukázalo, každý SET příkaz, který jsme vydali výše, vytvořil nový, jedinečný key v naší databázi Redis. Chcete-li získat seznam všech aktuálních keys které existují, jednoduše použijte KEYS příkaz:
> KEYS *
1) "title:1"
2) "title:2"
3) "title"
4) "author:2"
5) "author"
6) "author:1"
Sledováním KEYS s hvězdičkou (* ) – která funguje jako vyhledávání pomocí zástupných znaků – žádáme Redis, aby načetla všechny klíče v systému. Nevidíme tedy pouze naše dva původní title a author klíče, ale také čtyři vyjmenované verze, které následovaly.
Syntaxe následující za KEYS lze použít k vyhledání konkrétních slov nebo frází v klíči nebo také přesné shody. Zde chceme všechny klíče, které obsahují text 'title' :
> KEYS *title*
1) "title:1"
2) "title:2"
3) "title"
UPOZORNĚNÍ:Jak je uvedeno v oficiální dokumentaci, je vhodné vyhnout se používání KEYS ve velmi rozsáhlých databázích, ale zejména se vyvarujte jeho použití v produkčním prostředí. Od KEYS vrací potenciálně každý klíč v systému, může to mít dramatický negativní dopad na výkon.