Redis实战(1)基于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分钟后,缓存到期,数据被清除