Session服务器之Redis

Posted zcq123456

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Session服务器之Redis相关的知识,希望对你有一定的参考价值。

Session服务器之Redis

 

Redis与Memcached的区别
内存利用率:使用简单的key value (键值对)存储的话,Mermcached 的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached.。
性能对比:由于Redis 只使用单核,而Memcached可以使用多核,所以平均每一个核
上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis 最近也在存储大数据的性能上进行优化,但是比起Memcached,还是稍有逊色。。
Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
Redis支持数据的备份,即master-slave模式的数据备份。。
Redis 不仅仅支持简单的key-Value 类型的数据,同时还提供list, set, zset, hash 等数据结构的存储。。

 

将之前从session中复制到/usr/local/tomcat/lib下的文件删除

[root@node1 ~]# ls session/ | while read line                #每次输出一行
> do echo $line                                                #输出
> done
javolution-5.5.1.jar
kryo-1.03.jar
kryo-serializers-0.10.jar
memcached-2.5.jar
memcached-session-manager-1.5.1.jar
memcached-session-manager-tc7-1.5.1.jar
minlog-1.2.jar
msm-javolution-serializer-1.5.1.jar
msm-kryo-serializer-1.6.4.jar
reflectasm-0.9.jar
spymemcached-2.7.3.jar

[root@node1 ~]# ls session/ | while read line; do  rm -rf /usr/local/tomcat/lib/$line; done           #将每次输出一行变成删除line这个变量对应的内容

关闭相关安全机制

systemctl stop firewalld
iptables -F
setenforce 0

两台Tomcat都需要做相同的配置

 

一:将Redis解包及编译

[root@node1 ~]# tar xf redis-5.0.3.tar.gz -C /usr/src/                      #解包 
[root@node1 ~]# cd /usr/src/redis-5.0.3/         
[root@node1 redis-5.0.3]# make                                                      #编译
如果安装出现问题报错测需要安装tcl

wget http://downloads.sourceforge.net/tcl/tcl8.5.9-src.tar.gz

cd /tcl8.5.9-src/unix

./configure 

make && make install

二:配置相关文件

[root@node1 ~]# mkdir -p /usr/local/redis/bin,etc,var           #创建关于redis的文件
[root@node1 src]# cd /usr/src/redis-5.0.3/
[root@node1 redis-5.0.3]# cd src/
[root@node1 src]# ls

这里面有许多重要的文件,下面是比较重要的文件详细情况 

redis-server: Redis服务器的daemon启动程序
redis-cli: Redis命令行操作工具你也可以用telnet根据其纯文本协议来操作

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

redis-stat: Redis 状态检测工具,可以检测Redis当前状态参数及延迟状况

[root@node1 src]# cp redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /usr/local/redis/bin/             #将有用的文件拷贝到/usr/local/redis/bin下(文件夹之前创建好了)

[root@node1 src]# ls /usr/local/redis/bin/                                #查看拷贝的文件
redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-server

[root@node1 redis-5.0.3]# ls
00-RELEASENOTES  deps       README.md        runtest-sentinel  utils
BUGS             INSTALL    redis.conf       sentinel.conf
CONTRIBUTING     Makefile   runtest          src
COPYING          MANIFESTO  runtest-cluster  tests
[root@node1 redis-5.0.3]# cp redis.conf /usr/local/redis/etc/                        #将主配文件拷贝到/usr/local/redis/etc下

[root@node1 redis-5.0.3]# vim /usr/local/redis/etc/redis.conf                       #修改Redis的主配文件
 
 bind 127.0.0.0改为bind0.0.0.0                       #改成监听到本机的任意IP
daemonize no改为daemonize yes                 #以进程的方式启动
三:启动服务
[root@node1 redis-5.0.3]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf               #启动服务
[root@node1 ~]# netstat -lnpt | grep 6379                                                                         #查看端口是否开启
tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN      15511/redis-server

[root@node1 redis-3.2.5]# killall -9 redis-server                                        #关闭redis

四:修改Tomcat相关文件

[root@node1 redis-3.2.5]# vim /usr/local/tomcat/conf/context.xml                #修改Tomcat文件

<Context>

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />

 <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"  

host="192.168.200.12"                                                   #redisIP地址(两台都得写同一个主redisIP地址)

port="6379"                                                                     #redis端口

database="0"  

maxInactiveInterval="60" />

</Context>

五:重启Tomcat服务

[root@node1 ~]# /usr/local/tomcat/bin/shutdown.sh

[root@node1 ~]# /usr/local/tomcat/bin/startup.sh

六:测试

技术图片

 

 

技术图片

 

 

 

以上是关于Session服务器之Redis的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot(二十六)整合Redis之共享Session

Session服务器之Memcached与Redis

nginx之 nginx + tomcat + redis 负载均衡且session一致性

CentOS 7 nginx+tomcat+redis session处理方案之session复制

Nginx+Tomcat反向代理之负载均衡,redis存放session,keepalived暂未搭建

nginx六 之Session共享