基于Redis主从复制读写分离架构的Session共享(Windows Server)
搭建主从复制
1.安装软件
下载Redis-x64-3.2.100.zip:https://github.com/MicrosoftArchive/redis/releases
第一步:将Redis拷贝到虚拟机上的指定文件夹内,此Redis作为主服务
redis加入到Windows 服务
cmd命令安装命令:redis-server.exe --service-install redis.windows.conf --loglevel verbose
卸载命令:redis-server --service-uninstall
启动服务命令:redis-server --service-start
Redis3.2解决远程访问redis的办法
注释掉bind 127.0.0.1可以使所有的ip访问redis,若是想指定多个ip访问,但并不是全部的ip访问,可以bind
在redis3.2之后,redis增加了protected-mode,在这个模式下,即使注释掉了bind 127.0.0.1,再访问redisd时候还是报错,修改办法:protected-mode no

第二步:将Redis拷贝到本机的指定文件夹内,此Redis作为从服务

第三步:修改主服务的配置文件(redis.conf)

第四步:修改从服务的配置文件(redis.conf)

2.启动服务
第一步:首先启动主服务:通过cmd跳转到主服务所在的文件夹下,使用redis-server.exe redis.conf命令启动主服务(当然也可以双击redis-server.exe启动主服务,通过redis-server.exe redis.conf命令启动主服务的原因是,有时候我们修改了 redis.con配置,需要重新加载该文件)

第二步:启动从服务:步骤同上

此时主服务的日志信息发生了以下改变,表示主从复制搭建成功。

3.口说无凭,测试是否成功
第一步:我们用Redis可视化客户端redis-desktop-manager分别连接主从服务

第二步:打开主服务的客户端并输入测试数据

第三步:打开redis-desktop-manager可视化客户端,验证数据,至此主从配置成功搭建完毕

基于Redis的Session共享

未点击登录之前,主从数据库中均未有任何数据

第一次点击登录之后
分两步:
第一步:模拟的sessionId写入浏览器的cookie中
第二步:模拟的sessionId和用户名obj.ToString()分别作为键值写入Redis数据库



第二次点击登录之后
分两步:
第一步:从浏览器的cookie中根据键sessionId取出对应的值
第二步:把第一步取出的值作为键,从Redis数据库中取出对应的值

1分钟后,缓存到期,数据被清除

基于Redis主从复制读写分离架构的Session共享(Windows Server)的更多相关文章
- 基于Redis主从复制读写分离架构的Session共享
1.搭建主从复制 第一步:将Redis拷贝到虚拟机上的指定文件夹内,此Redis作为主服务 第二步:将Redis拷贝到本机的指定文件夹内,此Redis作为从服务 第三步:修改主服务的配置文件(redi ...
- 在项目中部署redis的读写分离架构(包含节点间认证口令)
#### 在项目中部署redis的读写分离架构(包含节点间认证口令) ##### 1.配置过程 --- 1.此前就是已经将redis在系统中已经安装好了,redis utils目录下,有个redis ...
- redis 主从复制+读写分离+哨兵
1.redis读写分离应用场景 当数据量变得庞大的时候,读写分离还是很有必要的.同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能.redis ...
- redis主从复制读写分离
主从复制,读写分离 Master/Slave 是什么 master写入 slave读取 能干嘛 读写分离,更加安全,性能提升 怎么玩 一主二仆.薪火相传.反客为主 周明老师,能够把长篇大论总结的很精辟 ...
- 基于Redis的Nginx服务器集群session共享
原料:jdk1.8,tomcat7,nginx1.16,Redis3.2.100,Redis-Tomcat需要的jar包,基于windows7. Redis3.2.100与Redis-Tomcat需要 ...
- Redis 主从复制, 读写分离
1: 是什么? 2: 经常是配置从库, 不配置主库 3.1: 每次与 master 断开之后都要从连, 除非你配置了redis.conf 3.2: 获取当前redis 服务信息 => info ...
- Shiro权限管理框架(二):Shiro结合Redis实现分布式环境下的Session共享
首发地址:https://www.guitu18.com/post/2019/07/28/44.html 本篇是Shiro系列第二篇,使用Shiro基于Redis实现分布式环境下的Session共享. ...
- 基于 EntityFramework 的数据库主从读写分离架构 - 目录
基于 EntityFramework 的数据库主从读写分离架构 回到目录,完整代码请查看(https://github.com/cjw0511/NDF.Infrastructure)中的目 ...
- 搭建基于MySQL的读写分离工具Amoeba
搭建基于MySQL的读写分离工具Amoeba: Amoeba工具是实现MySQL数据库读写分离的一个工具,前提是基于MySQL主从复制来实现的: 实验环境(虚拟机): 主机 角色 10.10.10.2 ...
随机推荐
- [转帖]Gartner预测2019年全球IT支出将达到3.8万亿美元
Gartner预测2019年全球IT支出将达到3.8万亿美元 http://server.zhiding.cn/server/2019/0130/3115439.shtml 全球领先的信息技术研究和顾 ...
- CentOS7 卸载mariadb 安装mysql的过程:
1. 检查安装的mariadb rpm -qa |grep mariadb 得到已经安装的安装包 mariadb-libs-5.5.56-2.el7.x86_64mariadb-devel-5.5.5 ...
- hive 远程管理
- linux shell << 注释多行
#!/bin/bash #script name: a.sh #author: aaron <<EOF echo "line 1" echo "line 2& ...
- python----特殊闭包
1.闭包的定义: 当子函数有调用父级函数变量(非全局变量)并返回子函数名时父级函数不会随着函数运行而结束释放,而是会保存状态等待子函数的调用. 我们常见的闭包类型: def fun1(): x = 1 ...
- Spark_RDD之RDD操作简介
1.转化操作 转化操作是返回一个新的RDD的操作,我们可以使用filter()方法进行转化.举个使用scala进行转化操作的例子. def main(args: Array[String]): Uni ...
- 睡前小dp-poj3254-状压dp入门
http://poj.org/problem?id=3254 从这里学的 http://blog.csdn.net/accry/article/details/6607703 状压dp的入门题.一片N ...
- 【POJ1456】Supermarket(贪心)
BUPT2017 wintertraining(16) #4 F POJ - 1456 题意 每个商品有过期日期和价格,每天可以卖一个商品,必须在过期前出售才能收益,求最大收益. 题解 贪心,按价格排 ...
- 【BZOJ2111】[ZJOI2010]排列计数(组合数学)
[BZOJ2111][ZJOI2010]排列计数(组合数学) 题面 BZOJ 洛谷 题解 就是今年九省联考\(D1T2\)的弱化版? 直接递归组合数算就好了. 注意一下模数可以小于\(n\),所以要存 ...
- can总线的示波器检测方法
stm32的can总线是在APB1上的,stm32f10x的主频是72Mhz,can外设时钟是36Mhz,stm32f2xx的主频是120Mhz,can外设时钟是30Mhz... STM32 APB1 ...