नोड के लिए (और एक्सप्रेस 4.x):
एक्सप्रेस-सत्र से उदाहरण के साथ प्रारंभ करें, लेकिन इसके बजाय कनेक्ट-रेडिस को अपने सत्र स्टोर के रूप में उपयोग करें।
उदाहरण कोड:
var express = require('express'),
app = express(),
cookieParser = require('cookie-parser'),
session = require('express-session'),
RedisStore = require('connect-redis')(session);
app.use(express.static(__dirname + '/public'));
app.use(function(req, res, next) {
if (req.url.indexOf('favicon') > -1)
return res.send(404);
next();
});
app.use(cookieParser());
app.use(session({
store: new RedisStore({
// this is the default prefix used by redis-session-php
prefix: 'session:php:'
}),
// use the default PHP session cookie name
name: 'PHPSESSID',
secret: 'node.js rules'
}));
app.use(function(req, res, next) {
req.session.nodejs = 'Hello from node.js!';
res.send(JSON.stringify(req.session, null, ' '));
});
app.listen(8080);
PHP के लिए:
redis-session-php जैसे redis सत्र हैंडलर का उपयोग करें।
उदाहरण कोड:
<?php
// from https://github.com/TheDeveloper/redis-session-php
require('redis-session-php/redis-session.php');
RedisSession::start();
$_SESSION["php"] = "Hello from PHP";
// `cookie` is needed by express-session to store information
// about the session cookie
if (!isset($_SESSION["cookie"]))
$_SESSION["cookie"] = array();
var_dump($_SESSION);
?>
नोट:सुनिश्चित करें कि आप एक ही prefix
का उपयोग करते हैं (कनेक्ट-रेडिस)/REDIS_SESSION_PREFIX
(redis-session-php) (कनेक्ट-रेडिस 'sess:' का उपयोग करता है और redis-session-php डिफ़ॉल्ट रूप से 'session:php:' का उपयोग करता है) और ttl
(कनेक्ट-रेडिस)/session.gc_maxlifetime
(PHP) (और वही डेटाबेस यदि आप डिफ़ॉल्ट के अलावा किसी अन्य redis डेटाबेस का उपयोग कर रहे हैं) redis-session-php और Connect-redis दोनों के लिए।