2016-07-31 9 views
0

私はRedisを使って自分のExpressJSアプリケーションのセッションデータを保存していますが、これまで永続的なCookieがユーザーのログインを維持しているため、私はredis-cliでセッションデータをクリアしようとしましたが、DEL KEYS *を実行して(integer) 0という応答が与えられても、KEYS *を実行するとセッションが表示されます。誰でもそのデータを削除するのを助けることができますか?Redisセッションキーを削除しない

例:セッションデータを格納

127.0.0.1:6379> KEYS * 
1) "sess:O7pchKqe-n7NUhP3lBANaf7LMjJG0U0a" 
2) "sess:tSyQCCISPBpH88zT3MJjHw2tidttMdRs" 
127.0.0.1:6379> DEL KEYS * 
(integer) 0 
127.0.0.1:6379> KEYS * 
1) "sess:O7pchKqe-n7NUhP3lBANaf7LMjJG0U0a" 
2) "sess:tSyQCCISPBpH88zT3MJjHw2tidttMdRs" 

ExpressJSコード:

var express = require('express'); 
var app = express(); 
var passport = require('passport'); 
var bodyParser = require('body-parser'); 
var cookieParser = require('cookie-parser'); 
var session = require('express-session'); 
var RedisStore = require('connect-redis')(session); 
var path = require('path'); 

//Port Setting 
var port = process.env.PORT || 3000; 

//Set Morgan as Logger 
app.use(morgan('dev')); 

//Extract POST Data 
app.use(bodyParser.urlencoded({ extended: true })); 
app.use(bodyParser.json()); 

//Session Cookie 
app.use(cookieParser()); 
app.use(session({ 
    store: new RedisStore({ 
     host: '127.0.0.1', 
     port: 6379 
    }), 
    secret: 'super-secret', 
    resave: true, 
    saveUninitialized: true, 
    cookie: { 
     httpOnly: true, 
     secure: false //turn to true on production once https is in place 
    } 
})); 
+0

私はあなたが['flushdb'](http://redis.io/commands/flushdb)にすべてのキーを削除したいと思っています。 'del'はワイルドカードを指定する方法がありません。 'del keys *'は "keys"と "*"という2つのキーを削除しようとします。 – smarx

+0

ところで、応答「0」は、0キーが削除されたことを意味します。 – smarx

+0

@smarxこれは完璧に機能し、0レスポンスのリマインダーに感謝します。これを回答として提供してもらえますか?正しいとマークしますか? – cphill

答えて

1

(コメントから転送)

私はあなたがflushdbは、すべてのキーを削除したいと思います。 delにはワイルドカードを指定する方法がないため、del keys *は2つのキーを削除しようとします.1つは「キー」と呼ばれ、もう1つは「*」です。応答0は、0個のキーが削除されたことを意味します。

関連する問題