sql >> Database teknologi >  >> NoSQL >> Redis

tælle antal sessioner i connect-redis

Ja, connect-redis bruger redis.createClient() internt, hvis du kun giver det legitimationsoplysninger, som du har ovenfor. Du kan også sende det til en klient direkte.

var redisClient = redis.createClient(6379, "127.0.0.1", { auth_pass: "RedisPASS" });
redisClient.select(2);

app.use(express.session({
    store: new RedisStore({
         client: redisClient
    }),
    secret: '1234567890QWERTY'
}));

For at få antallet af sessioner skal du forespørge redis for det sæt nøgler, der matcher det pågældende nøglepræfiks. For connect-redis er dette "sess:".

redisClient.keys("sess:*", function(error, keys){
    console.log("Number of active sessions: ", keys.length);
});

Som de angiver i redis-dokumentationen, tager keys-kommandoen lineær tid, så i store systemer er det ikke en god idé at forespørge om dette ofte. Du ville være bedre stillet med en separat tæller, som du øger, når en bruger logger ind, og nedsætter, når en bruger logger ud.




  1. Begrænsninger af Hadoop, måder at løse Hadoop-ulemper på

  2. spring-data-redis redisTemplate Undtagelse

  3. Mongoose-baseret app-arkitektur

  4. Sådan fjerner du et element fra et dobbelt indlejret array i et MongoDB-dokument.