sql >> Databáze >  >> NoSQL >> Redis

počítejte počet relací v connect-redis

Ano, connect-redis používá redis.createClient() interně, pokud mu poskytnete pouze přihlašovací údaje, jaké máte výše. Můžete jej také předat přímo klientovi.

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'
}));

Chcete-li získat počet relací, budete chtít požádat redis o sadu klíčů odpovídajících této předponě klíče. Pro connect-redis je to "sess:".

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

Jak je uvedeno v dokumentaci redis, příkaz keys trvá lineárně, takže ve velkých systémech není dobrý nápad se na to často dotazovat. Bylo by lepší mít samostatné počítadlo, které zvýšíte, když se uživatel přihlásí, a snížíte, když se uživatel odhlásí.




  1. Proč se hasOwnProperty modelu mongoose vrací false, když vlastnost existuje?

  2. Odlišný příkaz MongoDB

  3. Řazení podle virtuálního pole v mongoDB (mongoose)

  4. Proč Redis SortedSet používá Přeskočit seznam místo Balanced Tree?