基于Redis缓存的Session共享测试(转)

本机ip为192.168.1.101 1、准备测试环境 两个Tomcat 在Eclipse中新建2个Servers,指定对应的Tomcat,端口号错开。 Tomcat1(18005、18080、18009) Tomcat2(28005、28080、28009) 一个Redis Redis下载官网(http://redis.io),这里用的是2.6版本。 解压开来后直接运行redis-server.exe即启动了Redis。 在命令行中cd到Redis的解压目录,通过redis-cli工具进入Redis控制台。

redis-cli.exe -h 192.168.1.101 -p 6379

Redis简单操作有set、get、keys。

// 往Redis中保存键值对
set key value
// 根据键取出保存在Redis中的值
get key
// 打印出Redis中存在的键列表
key *

三个jar包 tomcat-redis-session-manager-1.2-tomcat-7.jar jedis-2.1.0.jar commons-pool-1.6.jar 将这3个jar包放到Tomcat的lib目录下。 2、配置测试环境 配置Tomcat,使其Session保存到Redis上有2中方法,分别是在server.xml或context.xml中配置。

<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve"/>
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"

host="192.168.1.101"port="6379"database="0"maxInactiveInterval="60"/>

3、运行测试环境 将WEB项目分别添加到2个Tomcat中并启动。 分别访问Tomcat1和Tomcat2,发现两边浏览器的jsessionid是一样的,在Redis控制台运行key *打印出来的就是共享的jsessionid。

时间: 2024-10-12 21:37:39

基于Redis缓存的Session共享测试(转)的相关文章

.Net Core Web Api实践(三).net core+Redis+docker实现Session共享

前言:上篇文章介绍了.net core+Redis+IIS+nginx实现Session共享,本来打算直接说明后续填坑过程,但毕竟好多坑是用docker部署后出现的,原计划简单提一下.net core+Redis+docker实现Session共享,但是发现篇幅也不小,所以还是单独起草一篇,除了k8s部署docker,其它部分都有基本介绍. 1.环境准备 操作系统:Windows10 VS2019.本地Redis数据库.Windows docker 2.背景介绍 由于项目从asp.net MVC

Tomcat基于MSM+Memcached实现Session共享

前言 在Tomcat集群中,当一个节点出现故障,其他节点该如何接管故障节点的Session信息呢?本文带来的解决方案是基于MSM+Memcached实现Session共享. 相关介绍 MSM MSM--Memcached Session Manager是一个高可用的Tomcat Session共享解决方案,除了可以从本机内存快速读取Session信息(仅针对黏性Session)外,同时可使用Memcached存取Session,以实现高可用. 工作原理 Sticky Session(黏性) 模式

基于Redis实现分布式Session

1.概述 我们可以自己实现类似Session的机制,采用 Redis 等分布式缓存中间件来实现. Redis是独立于应用服务器的,基于Redis实现的Session机制自动具备了分布式属性. Redis可以很方便地做集群配置,则Session避免了单点故障. 2.实现 实现代码极其简单,如下所示. /** * @author liuhailong2008#foxmail */ public class ApiSession implements Serializable { private st

.NET基于Redis缓存实现单点登录SSO的解决方案

一.基本概念 最近公司的多个业务系统要统一整合使用同一个登录,这就是我们耳熟能详的单点登录,现在就NET基于Redis缓存实现单点登录做一个简单的分享. 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 普通的登录是写入session,每次获取session看看是否有登录就可记录用户的登录状态. 同理多个站点用一个凭证,可以用分布式session,我们可以用r

【电商】nginx+redis+tomcat实现session共享集群

本文记录nginx+redis+tomcat实现session共享的过程 tomcat-redis-session-manager组件:https://github.com/jcoleman/tomcat-redis-session-manager tomcat-redis-sessoin-manager对tomcat的支持: (1) tomcat6:支持,要求jdk为1.6, 需要引入tomcat-redis-session-manager-1.2-tomcat-6.jar,不过现在已经处理不

基于redis的处理session的方法

一个基于redis的处理session的方法,如下. 1 <?php 2 class Session_custom { 3 private $redis; // redis实例 4 private $prefix = 'sess_'; // session_id前缀 5 6 // 会话开始时,会执行该方法,连接redis服务器 7 public function open($path, $name) { 8 $this->redis = new Redis(); 9 return $this-

Spring Session + Redis实现分布式Session共享

通常情况下,Tomcat.Jetty等Servlet容器,会默认将Session保存在内存中.如果是单个服务器实例的应用,将Session保存在服务器内存中是一个非常好的方案.但是这种方案有一个缺点,就是不利于扩展. 目前越来越多的应用采用分布式部署,用于实现高可用性和负载均衡等.那么问题来了,如果将同一个应用部署在多个服务器上通过负载均衡对外提供访问,如何实现Session共享? 实际上实现Session共享的方案很多,其中一种常用的就是使用Tomcat.Jetty等服务器提供的Session

SpringBoot2.x+Redis+nginx实现session共享和负载均衡

1.创建SpringBoot项目添加依赖 <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId>

Redis主从复制实现session共享

一.Redis安装 1. 下载安装扩展源及源码包 yum install -y epel-release jemalloc-devel wget https://codeload.github.com/antirez/redis/tar.gz/2.8.21 tar -zxvf 2.8.21 make:make PREFIX=/usr/local/redis install mkdir -p /usr/local/redis/etc 解决办法: cd deps/ make hiredis lua