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

Пример за използване на socket.io-redis

Документацията на socket.io-redis не споменава, че всъщност трябва да стартирате Redis сървър, така че може да сте забравили това. Плъгинът socket.io-redis използва pub/sub клиента на Redis сървъра за свързване на множество екземпляри на socket.io.

  1. изтеглете и инсталирайте Redis сървър от https://redis.io

  2. добавете приставката redis към вашите екземпляри на socket.io:

    var express = require('express');
    var app = express();
    var server = require('http').Server(app);
    var io = require('socket.io')(server);
    var redis = require('socket.io-redis');
    io.adapter(redis({ host: 'localhost', port: 6379 }));
    

    6379 е портът за redis по подразбиране, локален хост, ако стартирате node и redis на един и същ сървър.

  3. добавете socket.io и socket.io-redis функции, от които се нуждаете

    var your_namespace_socket = io.of('/your-namespace');
    your_namespace_socket.on('connection', function(socket){
    
      socket.on('join', function(room){
        socket.join(room);
    
        //log other socket.io-id's in the room
        your_namespace_socket.adapter.clients([room], (err, clients) => {
          console.log(clients);
        });
      });
    });
    
  4. Стартирайте сървъра с socket.io

    server.listen(3000, function(){
       logger.debug('listening on *:3000');
    });
    



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. DigitalOcean pod има необвързани незабавни PersistentVolumeClaims

  2. Как ConnectionMultiplexer се справя с прекъсванията?

  3. Redis Stack Exchange как да изтриете или получите ключове по шаблон

  4. Как да накарам Redis да избере политика за изгонване на LRU само за някои от ключовете?

  5. вложеното изключение е redis.clients.jedis.exceptions.JedisConnectionException:Не можа да се получи ресурс от пула