sql >> Databasteknik >  >> NoSQL >> Redis

Namnkonvention och giltiga tecken för en Redis-nyckel

En del av detta besvaras här, men detta är inte helt en dubblett, eftersom du frågar om tillåtna tecken såväl som konventioner.

När det gäller giltiga tecken i Redis-nycklar , manualen förklarar detta fullständigt:

Redis-nycklar är binära säkra, det betyder att du kan använda vilken binär sekvens som helst som nyckel, från en sträng som "foo" till innehållet i en JPEG-fil. Den tomma strängen är också en giltig nyckel.

Några andra regler om nycklar:

Mycket långa nycklar är inte en bra idé, till exempel är en nyckel på 1024 byte en dålig idé, inte bara minnesmässigt, utan också för att uppslagningen av nyckeln i datasetet kan kräva flera kostsamma nyckeljämförelser. Även när uppgiften är att matcha förekomsten av ett stort värde, är det en bättre idé att hasha det (till exempel med SHA1), särskilt ur minnes- och bandbreddsynpunkt.

Mycket korta nycklar är ofta ingen bra idé. Det är ingen idé att skriva "u1000flw" som nyckel om du istället kan skriva "user:1000:followers". Den senare är mer läsbar och det tillagda utrymmet är mindre jämfört med utrymmet som används av själva nyckelobjektet och värdeobjektet. Medan korta tangenter uppenbarligen kommer att förbruka lite mindre minne, är ditt jobb att hitta rätt balans.

Försök att hålla dig till ett schema. Till exempel är "object-type:id" en bra idé, som i "user:1000". Prickar eller bindestreck används ofta för flerordsfält, som i "comment:1234:reply.to" eller "comment:1234:reply-to".

Den högsta tillåtna nyckelstorleken är 512 MB.




  1. "Fält krävde en böna av typ som inte kunde hittas." fel fjäder vilsamt API med mongodb

  2. NodeJS + ExpressJS + RedisStore-session är odefinierad

  3. Hur sorterar man i mangust?

  4. Socket.io, Redis Store och IE