Redis
 sql >> база данни >  >> NoSQL >> Redis

Конвенция за именуване и валидни символи за ключ Redis

Част от това е отговорено тук, но това не е напълно дубликат, тъй като питате за разрешени знаци, както и за конвенции.

Що се отнася до валидните знаци в ключовете Redis , ръководството обяснява това напълно:

Ключовете Redis са двоично безопасни, това означава, че можете да използвате всяка двоична последователност като ключ, от низ като "foo" до съдържанието на JPEG файл. Празният низ също е валиден ключ.

Няколко други правила за ключовете:

Много дългите ключове не са добра идея, например ключ от 1024 байта е лоша идея не само по отношение на паметта, но и защото търсенето на ключа в набора от данни може да изисква няколко скъпи сравнения на ключове. Дори когато задачата е да се съпостави съществуването на голяма стойност, прибягването до хеширането й (например с SHA1) е по-добра идея, особено от гледна точка на паметта и честотната лента.

Много късите клавиши често не са добра идея. Няма смисъл да пишете "u1000flw" като ключ, ако вместо това можете да напишете "user:1000:followers". Последният е по-четлив и добавеното пространство е незначително в сравнение с пространството, използвано от самия ключов обект и стойностния обект. Докато късите клавиши очевидно ще консумират малко по-малко памет, вашата работа е да намерите правилния баланс.

Опитайте се да се придържате към схема. Например "object-type:id" е добра идея, както в "user:1000". Точките или тирета често се използват за полета с няколко думи, като "comment:1234:reply.to" или "comment:1234:reply-to".

Максималният разрешен размер на ключа е 512 MB.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. GenericJackson2JsonRedisSerializer Игнориране на клас и атрибут

  2. json.loads и Redis в python 3.5

  3. Catbox-redis показва грешка при изключена връзка в приложението ми hapijs

  4. Алтернатива на servicestack.redis

  5. Използване на ServiceStack.Redis.Sentinel