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
}
}));
私はあなたが['flushdb'](http://redis.io/commands/flushdb)にすべてのキーを削除したいと思っています。 'del'はワイルドカードを指定する方法がありません。 'del keys *'は "keys"と "*"という2つのキーを削除しようとします。 – smarx
ところで、応答「0」は、0キーが削除されたことを意味します。 – smarx
@smarxこれは完璧に機能し、0レスポンスのリマインダーに感謝します。これを回答として提供してもらえますか?正しいとマークしますか? – cphill