Ubuntu上使用Redis数据库存储SessionID并实现Session共享

Posted 俯瞰的翱翔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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-serverRedis服务器的daemon启动程序

redis-cliRedis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作

redis-benchmarkRedis性能测试工具,测试Redis在你的系统及你的配置下的读写性能

redis-statRedis状态检测工具,可以检测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共享的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu 18.04 安装 Redis-server

Ubuntu 上redis 5.0的安装

如何在Ubuntu 16.04上将Redis服务器设置为PHP的会话处理程序

ubuntu 14.04安装redis

Ubuntu 17.04安装redis4.01及主从复制部署实战

ubuntu18.04 安装redis