Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Jak korzystać z masowego wstawiania Redis?

Oto on:

echo -n '*3\r\n$3\r\nset\r\n$3\r\nkey\r\n$5\r\nvalue\r\n' | ./redis-cli --pipe
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 1

Twój problem prawdopodobnie pochodzi z separatorów cr+lf. Możesz użyć polecenia hexdump -C, aby sprawdzić ten punkt:

echo -n '*3\r\n$3\r\nset\r\n$3\r\nkey\r\n$5\r\nvalue\r\n' | hexdump -C
00000000  2a 33 0d 0a 24 33 0d 0a  73 65 74 0d 0a 24 33 0d  |*3..$3..set..$3.|
00000010  0a 6b 65 79 0a 0d 24 35  0d 0a 76 61 6c 75 65 0d  |.key..$5..value.|
00000020  0a                                                |.|
00000021

Możesz także sprawdzić, czy celem jest najnowsza instancja Redis, a nie wersja przed 1-2 (która nie obsługuje "ujednoliconego protokołu").

Uwaga: powyższe linie działają dobrze z zsh. Jeśli używasz basha, musisz dodać $ przed kwotowaniem, aby wywołać cytowanie ANSI-C:

echo -n $'*3\r\n$3\r\nset\r\n$3\r\nkey\r\n$5\r\nvalue\r\n' | hexdump -C


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak wdrożyć resque workerów do produkcji?

  2. Jakie są podstawowe różnice między select, epoll, kqueue i evport?

  3. Jak zapisać i pobrać ciąg z akcentami w redis?

  4. Redis (ioredis) — nie można wykryć błędu połączenia, aby poradzić sobie z nimi z wdziękiem

  5. Jak poprawić wykorzystanie procesora przez serwer Redis?