首页 > 代码库 > Ubuntu上使用Redis数据库存储SessionID并实现Session共享
Ubuntu上使用Redis数据库存储SessionID并实现Session共享
Ubuntu上使用Redis数据库存储SessionID并实现Session共享
第一部分:安装及配置Redis 数据库
安装Redis database server. 参见:http://grainier.net/how-to-install-redis-in-ubuntu/
Redis官网: https://redis.io/
$ wget http://download.redis.io/releases/redis-3.2.8.tar.gz
$ tar xzf redis-3.2.8.tar.gz
$ cd redis-3.2.8
$ make
$ make test
$ cat /sys/kernel/mm/transparent_hugepage/enabled //显示当前THP启用状况
$ sudo su 切换到root 然后 # echo never > /sys/kernel/mm/transparent_hugepage/enabled 切换THP状态。可以 add it to your /etc/rc.local in order to retain the setting after a reboot.
$ sudo make install //将编译好的可执行文件复制到合适的地方以完成安装。
redis 主要文件作用如下:
redis-server:Redis服务器的daemon启动程序
redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作
redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况
使用帮助:
$ cd utils
$ sudo ./install_server.sh
设置相应参数 (可将默认的port 6379 改为其他值,比如 6535).
Port : 6535
Config file : /etc/redis/6535.conf
Log file : /var/log/redis_6535.log
Data dir : /var/lib/redis/6535
Executable : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
命令使用:
$ sudo service redis_6535 start
$ sudo service redis_6535 stop
$ sudo service redis_6535 restart
$ redis-server --help
通过客户端连接Redis服务器:
$ redis-cli -p 6535 //登录
$ select 1 //选择数据库
$ keys * //列出所有Key
$ get KEY_NAME //获取值
Redius 安全设置: https://www.digitalocean.com/community/tutorials/how-to-secure-your-redis-installation-on-ubuntu-14-04
第二部分:网站代码(放在服务器端主文件www.js里面)
var session = require(‘express-session‘),
RedisStore = require(‘connect-redis‘)(session), //使用Redis 数据库存储session信息
redis = require("redis"), //使用Radis客户端node_redis
//================设置Redis 数据库存储共享session==================
rsclient = redis.createClient({ //创建redis客户端实例
host: ‘127.0.0.1‘,
port: 6535,
db:1});
// ==============设置 session (此条应放在passport之前)==============
var sessionMiddleware = session({
store: new RedisStore({client: rsclient}), //设置将session存储在Redis数据库里面
secret: ‘putyoursecrethere‘, //加密字符串,‘putyoursecrethere‘可改为别的字符串
resave: true,
saveUninitialized: true
});
Ubuntu上使用Redis数据库存储SessionID并实现Session共享