redis学习笔记(二)

1.redis使用实例
(1)限流
发送短信验证码,某功能、网站的访问频次限制(本站的Static变量缓存也能做到)。
(2)session
使用负载均衡时,多台服务器共享一套session。
(3)异步队列
多个处理器向redis中的异步队列中争取来自主业务的任务,不影响主业务的响应。如购买火车票,抢到座位时,主服务器先将它插入redis异步队列 ,多个从服务器争取到任务进行扣款与回调等需要长时间处理的操作,最后通知到用户购票成功/失败。
(4)延迟队列
定时任务,如:
订单下单后超过一小时用户未支付,需要关闭订单
订单的评论如果7天未评价,系统需要自动产生一条评论。
其它 :搜索联想、排行榜、最近访问,最近评论,连续登录校验等
2.redis实际应用部署
(1)单机模式
命令行窗口进入redis解压路径,执行命令:redis-server.exe
在这里插入图片描述
单节点模式只适用于了解学习Redis

(2)集群模式
方案主要解决分片问题,即把整个数据按照规则分成多个子集存储在多个不同几点上,每个节点负责自己整个数据的一部分。
主要是使用了哈希分区规则中的虚拟槽分区,比较复杂 ,可以专门去看怎么计算的。这里不记录了。
以下是集群模式的架构图
在这里插入图片描述
(3)主从模式
方案主要是减少CPU压力,然而网上查寻redis的瓶颈往往发生在内存上,所以集群模式会更有意义,但还是试着配了一下
笔记(一)中解压的redis2.4.5包,里有一个redis.conf文件,复制2份,3份重命名为
在这里插入图片描述
即主服务器配置6379端口,IP取默认的127.0.0.1;
从服务端除了IP取默认的127.0.0.1,配置自己的端口之外,外加一个 slaveof 127.0.0.1 6379,设置主服务器地址
在这里插入图片描述
运行主服务,cmd进入redis-server.exe所在的文件夹,执行 redis-server.exe redis6379.conf
运行从服务,进入redis-server.exe所在的文件夹,执行 redis-server.exe redis6381.conf
在这里插入图片描述
主服务监听到从服务的请求
在这里插入图片描述
在主服务器上设置set a 1后,进入redis-cli所在文件夹,执行 redis-cli.exe -h 127.0.0.1 -p 6381,连接到从服务器6381,获取a,在从服务器上也可获取到为1
在这里插入图片描述
(4)哨兵模式
因为笔记(一)中使用2.4.5不支持哨兵模式,要下高版本的,官网给了Microsoft开放技术小组开发和维护的redis地址https://github.com/MicrosoftArchive/redis/releases,从上可下载3.2.100版的.

redis-Sentinel(哨兵模式)是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行切换
(a).sentinel哨兵如下功能实现
a.monitoring:监控redis是否正常运行
b.notification:通知application错误信息
c.failover:当某个master死掉,选择另外一个slave升级为master,更新master-slave关系。
d.configurationprovider:client通过sentinel获取redis地址,并在failover时更新地址

(b).sentinels and slaves autodiscovery(redis2.8及以上)
配置文件中只配置master地址,slave地址和sentinel地址可以自动发现。
a.sentinels——sentinel之间通过redis pub/sub交换信息获得。
b.slaves——询问master获得。

©.sdown、odown、failover
故障检测一般都是通过ping-pong机制,sentinel引入sdown(主观下线)和odown(客观下线)机制,目的应该是在集群规模较大时,检测更客观
a.sdwon——is-master-down-after-milliseconds(可配置)时间内ping-pong失败。sdown的slave不能升级为master。
b.odown——超过一定数目(可配置)的sentinel认为sdown,odown只针对master。
c.failover——多数sentinel认为odown。
参考链接:
(1)https://www.cnblogs.com/catcher1994/p/5903074.html
(2)https://blog.youkuaiyun.com/ahfywangqiang/article/details/86537421
(3)https://www.cnblogs.com/yu421/p/8081544.html
(4)https://cloud.tencent.com/developer/news/8009

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值