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下
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" #redis的IP地址(两台都得写同一个主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
nginx之 nginx + tomcat + redis 负载均衡且session一致性
CentOS 7 nginx+tomcat+redis session处理方案之session复制