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

Przechowywanie zagnieżdżonych obiektów JavaScript w redis - NodeJS

Przede wszystkim redis obsługuje tylko następujące typy danych:

  1. Ciąg
  2. Lista
  3. Ustaw
  4. Hasz
  5. Posortowany zestaw

Musisz przechowywać obiekty jako ciąg w obu redis i memcached.

z pamięci podręcznej węzła analizuje/struje dane automatycznie. Ale node-redis nie.

Możesz jednak zaimplementować własne funkcje serializacji/deserializacji dla swojej aplikacji.

Sposób buforowania węzłów określa obiekt w następujący sposób:

if (Buffer.isBuffer(value)) {
    flag = FLAG_BINARY;
    value = value.toString('binary');
} else if (valuetype === 'number') {
    flag = FLAG_NUMERIC;
    value = value.toString();
} else if (valuetype !== 'string') {
    flag = FLAG_JSON;
    value = JSON.stringify(value);
}

Analizuje również pobrany tekst w ten sposób:

przełącznik
switch (flag) {
    case FLAG_JSON:
        dataSet = JSON.parse(dataSet);
        break;
    case FLAG_NUMERIC:
        dataSet = +dataSet;
        break;
    case FLAG_BINARY:
        tmp = new Buffer(dataSet.length);
        tmp.write(dataSet, 0, 'binary');
        dataSet = tmp;
        break;
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czy Redis może pisać do bazy danych, takiej jak PostgreSQL?

  2. Dlaczego pojedyncza instancja Jedis nie jest bezpieczna wątkowo?

  3. Zdarzenie przestrzeni klucza Redis nie uruchamia się

  4. Użyj Redis, aby wygenerować unikalny identyfikator z ograniczonego zakresu

  5. blpop po chwili zatrzymuje przetwarzanie kolejki