缓存穿透 简单地就是用户请求透过redis直接进入到mysql当中进行查询,通常是一个不存在的key,在数据库查询为null。每次请求落在数据库、并且高并发。数据库扛不住会挂掉。 当用户的请求进入到Redis当中的时候,Redis当中并没有用户查询的键。 Redis会告诉用户没有查询到此Key,随后请求会被直接转发到后台MySQL当中 MySQL当中自然也不会存在此键值对,所以当大量的请求落在MySQL当中则会导致数据库宕机 解决缓存穿透的方案 可以将查到的null设成该key的缓存对象。 当然,也可以根据明显错误的key在逻辑层就就行验证。 同时,你也可以分析用户行为,是否为故意请求或者爬虫、攻击者。针对用户访问做限制。...

准备环境 192.168.1.100 MASTER 6379 192.168.1.101 SLAVE 6379 脚本每个人的环境不同.可能有的会有问题,按照自己的环境来改和执行 [root@localhost redis]# vim start.sh //就是不想手动敲那么累,全是命令拼凑 #!/bin/bash Redis_home=/usr/local/redis # start dow redis echo -e "\033[41;36m test env \033[0m" if [ ! -d "/backup" ]; then mkdir /backup fi mv...

Redis Cluster(Redis集群)简介 redis是一个开源的key value存储系统,受到了广大互联网公司的青睐。redis3.0版本之前只支持单例模式,在3.0版本及以后才支持集群,我这里用的是redis3.0.0版本; redis集群采用P2P模式,是完全去中心化的,不存在中心节点或者代理节点; redis集群是没有统一的入口的,客户端(client)连接集群的时候连接集群中的任意节点(node)即可,集群内部的节点是相互通信的(PING-PONG机制),每个节点都是一个redis实例; 为了实现集群的高可用,即判断节点是否健康(能否正常使用),redis-cluster有这么一个投票容错机制:如果集群中超过半数...

哨兵模式简介 主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。 哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。 这里的哨兵有两个作用 通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器。 当哨兵监测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让它们切换主机。...