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

Редис масово вмъкване

Бих казал, че сте на пътя на преждевременната оптимизация (която обикновено не е най-добрата).

Всеки скриптов език с Redis клиент, поддържащ конвейер, трябва да може да изпраща поне 50K команди/сек до сървъра на Redis. Кодът ще бъде ясен, без да е необходимо ръчно да кодирате протокола Redis. Разбира се, трикът с масивно вмъкване е по-бърз, но наистина ли се нуждаете от него?

Сега, ако все пак искате да се придържате към масивно вмъкване, трябва да кодирате правилна команда на Redis. Примерът, който сте предоставили, е грешен по няколко причини:

  • броят на аргументите е грешен (вашият пример трябва да започва с *3)

  • дължината на последния аргумент е грешна (дължината 1,2,34 е 6 байта, а не 5).

  • в командата SADD се нуждаете от един аргумент за елемент от набора (т.е. за Redis 1,2,34 ще бъде един елемент, а не три).

Правилната команда по-скоро би била нещо подобно:

"*5\r\n$4\r\nSADD\r\n$2\r\n80\r\n$1\r\n1\r\n$1\r\n2\r\n$2\r\n34\r\n"

Протоколът Redis е описан тук:http://redis.io/topics/protocol




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Конфигурация за внедряване на Redis - главна подчинена репликация

  2. phpredis на Windows 7 64bit xampp

  3. Как да сериализирате карта в Java, която да съхранявате в Redis?

  4. Как да отмените задание на опашка в Laravel или Redis

  5. SSL свързаност към Redis със StackExchange.Redis