Lösning 1:Lagra data från olika moduler i olika Redis-instanser
Den mest strikta isoleringen är att lagra data för varje modul i en individuell Redis-instans, det vill säga en individuell Redis-process.
Lösning 2:Lagra data från olika moduler i olika databaser för en enda Redis-instans
En Redis-instans kan ha flera databaser, och du kan konfigurera antalet databaser i konfigurationsfilen. Som standard finns det 16 databaser.
Dessa databaser är namngivna med ett nollbaserat numeriskt index. Med kommandot select kan du använda ith databas. Efter valet kommer alla efterföljande kommandon att fungera på ith databas.
Så om du tilldelar en oberoende databas för varje modul kan du undvika namnkollisioner.
OBS :den här lösningen FUNGERAR INTE med Redis Cluster
. Redis Cluster
låter dig bara använda 0:e databas.
Lösning 3:Skapa namnutrymme med nyckelprefix
Om alla dina data måste lagras i en enda databas kan du fortfarande implicit skapa ett namnutrymme med nyckelprefix . För varje modul bör all data i denna modul ha samma nyckelmönster:ModuleName:KeyName
, dvs varje nyckel i denna modul har samma prefix:ModuleName
.
Eftersom varje modul har olika namn kommer det inte att förekomma några namnkollisioner mellan dessa moduler:
// Set keys for module1
SET module1:key1 value
SET module1:key2 value
// Set keys for module2
SET module2:key1 value
SET module2:key2 value
OBS :den här lösningen fungerar även med Redis Cluster
.