Có, connect-redis không sử dụng redis.createClient () trong nội bộ nếu bạn chỉ cung cấp cho nó thông tin đăng nhập như bạn có ở trên. Bạn cũng có thể chuyển trực tiếp nó cho một khách hàng.
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'
}));
Để có được số lượng phiên, bạn sẽ muốn truy vấn redis cho bộ khóa khớp với tiền tố khóa đó. Đối với connect-redis, đây là "sess:".
redisClient.keys("sess:*", function(error, keys){
console.log("Number of active sessions: ", keys.length);
});
Như họ đã nêu trong tài liệu redis, lệnh phím mất thời gian tuyến tính, vì vậy trong các hệ thống lớn, không phải là ý kiến hay khi truy vấn điều này thường xuyên. Tốt hơn hết bạn nên giữ một bộ đếm riêng biệt mà bạn tăng lên khi người dùng đăng nhập và giảm khi người dùng đăng xuất.