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

Jak klíče jmenného prostoru na redis, aby nedošlo ke kolizím jmen?

Řešení 1:Uložte data různých modulů v různých instancích Redis

Nejpřísnější izolací je ukládání dat každého modulu v jednotlivé instanci Redis, tj. v jednotlivém procesu Redis.

Řešení 2:Uložte data různých modulů do různých databází jedné instance Redis

Instance Redis může mít více databází a počet databází můžete nakonfigurovat v konfiguračním souboru. Ve výchozím nastavení je k dispozici 16 databází.

Tyto databáze jsou pojmenovány číselným indexem založeným na nule. S příkazem select můžete použít ith databáze. Po výběru budou všechny následující příkazy fungovat na ith databáze.

Pokud tedy každému modulu přiřadíte nezávislou databázi, můžete se vyhnout kolizím jmen.

POZNÁMKA :toto řešení NEFUNGUJE s Redis Cluster . Redis Cluster umožňuje používat pouze 0. databáze.

Řešení 3:Vytvořte jmenný prostor s předponou klíče

Pokud všechna vaše data musí být uložena v jediné databázi, stále můžete implicitně vytvořit názvový prostor s předponou klíče . Pro každý modul by všechna data tohoto modulu měla mít stejný vzor klíče:ModuleName:KeyName , tj. každý klíč tohoto modulu má stejnou předponu:ModuleName .

Vzhledem k tomu, že každý modul má jiný název, nebudou mezi těmito moduly kolize názvů:

// Set keys for module1
SET module1:key1 value
SET module1:key2 value

// Set keys for module2
SET module2:key1 value
SET module2:key2 value

POZNÁMKA :toto řešení funguje také s Redis Cluster .




  1. Připojte se k hostiteli mongodb z kontejneru dockeru

  2. python-rq worker se automaticky zavře

  3. MongoDB $binarySize

  4. Neznámý příkaz Redis ERR 'FLUSHDB'