node.js - 如何检查redis中是否已存在 session ID

标签 node.js session redis bots facebook-messenger

我有以下代码,我不确定如何检查 session key 是否已经存在,因为如果它已经存在,我不想创建另一个 redis session 。

请求对象在每次调用时都是新的,但我知道每个请求的 event.sender.id 都是相同的。

     // If not set then create the session object
     if (!req.session.key) {
       console.log('Set session variable');
       req.session.key = event.sender.id;
       console.log('*** SESSION CREATED WITH ' + event.sender.id);
     }

最佳答案

Server.js

const redis = require("redis");
const client = redis.createClient(); 
const hostname = '127.0.0.1'; 
const port = 6379;


client.on("error", function (err) {
    console.log("Error " + err); });

var session_id_key = event.sender.id ; //your id

client.exists("key",session_id_key, function (err, replies) {

    if(!err && replies===1){

        console.log("THE SESSION ID ALREADY PRESENT ");
    }else{
        console.log("THE SESSION ID DOES NOT PRESENT");
    } });

答案是: session ID 已经存在

关于node.js - 如何检查redis中是否已存在 session ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38661701/

相关文章:

javascript - 使用 Express JS 的 Angular 模板组件

php - 将 $_SESSION ['MM_Username' ] 插入到日志消息中

php - Codeigniter 3 session 不适用于 PHP 7.1.4

database - 个性化提要的缓存策略

ruby - 发送给 EventMachine pubsub 订阅者的重复数据

python - Tornado -redis : Why the 'listen' and the 'brpop' of tornado-redis can't work at the same time

javascript - 在 socket.io 中显示房间

ios - 相机视频不工作 - React Native

asp.net - 非锁定进程内 ASP.NET session 状态存储

node.js - 使用自签名证书运行 Node HTTPS 服务器是否会破坏使用 HTTPS 的目的?