sentinel哨兵模式的缺点1.在sentinel选举出来新master时,选举期间会存在访问瞬断的情况2.哨兵模式对外只有master节点可以写,slave节点只能用于读,写的压力相对较大,高并发场景下不合适3.Redis的单节点内存不能设置过大,若数据过大在主从同步将会很慢;在节点启动的时候由于需要全量同步很慢
Redis集群的优点
Redis集群有多个master,不需要切换,可以减小访问瞬断问题的影响
Redis集群有多个master,可以提供更高的并发量
Redis集群可以分片存储,这样就可以存储更多的数据
Redis集群是一个由多个主从节点群组成的分布式服务集群,它具有复...
            
            
            
            
        
                主从复制的介绍中讲到,当主数据库出现问题时,需要手动将其中一个slave提升为master提供服务,在原有master起来时,将其更新为slave节点来同步数据
2.8之后提供了哨兵模式来自动化系统监控和故障恢复,这是一个官方推荐的架构1.监控master和slave是否正常2.master出现故障时,选举slave作为新的master,其他slave节点追随的master地址被自动改为新master地址
哨兵模式概念每个sentinel节点就是一个redis节点监控redis节点的同时,也会互相监控哨兵节点也可以组成集群,用来监控多个redis集群
哨兵模式工作过程sentinel节点...
            
            
            
            
        
                主从刚连接的时候,会进行全量同步,全量同步结束后进行增量同步如果有需要会在任何时候发起全量同步,首先进行增量同步,如果不行就进行全量同步
redis主从复制的特点1.是异步复制,实时性较差2.一个主redis可以含有多个redis3.可以使用级联结构4.非阻塞的同步(因为是异步复制),同步时依然可以处理请求5.提高的可用性和扩展性(可扩展,读负载均衡
redis主从复制过程全量同步阶段(disk方式)slave第一次启动时,初始化阶段,此时slave将master节点数据复制一遍在2.8版本之前,重启slave节点也会进行全量同步此时slave无法提供服务1.slave连接master,...
            
            
            
            
        
                事务在数据库层面,事务是指一组操作,这些操作要么全都被成功执行,要么全都不执行。
数据库事务的四大特性
A:Atomic,原子性,将所有SQL作为原子工作单元执行,要么全部执行,要么全部不执行;(如果失败就会回滚)
C:Consistent,一致性,事务完成后,所有数据的状态都是一致的,即A账户只要减去了100,B账户则必定加上了100;
I:Isolation,隔离性,如果有多个事务并发执行,每个事务作出的修改必须与其他事务隔离;
D:Duration,持久性,即事务完成后,对数据库数据的修改被持久化存储。
Redis事务的特性1.单独隔离操作事务中的所有命令都会序列化,按照顺序执行...
            
            
            
            
        
                key(键)的常用操作keys
查看当前库中所有的key在生产环境中不要直接使用,因为查询过程属于阻塞状态
123456789101112131415161718192021例:set k1 10set k2 20set k3 30keys输出(阻塞)k1k2k3redis-cli --scan "*"输出(非阻塞、推荐)k1k2k3支持通配符:*?[]
exists
用来判断某个键是否存在
123456789exists keyexists k1返回1exists k1 k2 k4返回2
type
查看key对应value的类型,比如string list等
1...
            
            
            
            
        
                RDB持久化与AOF持久化RDB持久化(快照持久化)将当前数据保存到磁盘AOF持久化(主流)将每次执行的写命令保存到磁盘,mysql的iblogfile也是类似的原理优点:实时性更好,意外丢失的数据更少缺点:占用cpu,aof文件占用磁盘空间
RDB持久化手动触发:通过save和bgsave进行保存自动触发:通过配置redis.conf的save命令进行触发
1234save 900 1         # 900 秒内如果至少有 1 个 key 的值变化,则保存save 300 10        # 300 秒内如果至少有 10 个 key 的值变化,则保存save 60 10000...
            
            
            
            
        
                编译安装123456789101112131415161718192021222324252627yum -y groupinstall "Development Tools"yum -y install tclwget http://download.redis.io/releases/redis-5.0.5.tar.gztar xf redis-5.0.5.tar.gzcd redis-5.0.5/make MALLOC=libcmake install# 安装完之后会生成几个文件redis-server:Redis服务器的daemon启动程序redis-cli:...
            
            
            
            
        
                准备脚本123456789101112131415cat >/etc/zabbix/mysql_status.sh<<'EOF'#!/bin/bashecho "************zabbix获取mysql主从复制状态脚本***************"# 变量定义mysql_user=rootmysql_password=rootmysql_host=127.0.0.1slave_status=$(mysql -u$mysql_user -p$mysql_password -h $mysql_host -e 's...
            
            
            
            
        
                Zabbix-proxy是Zabbix监控系统中的一个重要组成部分,它在大型或分布式网络环境中扮演着关键角色,用于代替Zabbix Server收集性能和可用性数据,并将这些数据汇报给Zabbix Server
            
            
            
            
        
                Zabbix自动注册是一种高效的监控管理方式,它允许Zabbix Agent(客户端)主动向Zabbix Server(服务端)注册自己,以便被自动添加到监控系统中。这种方式特别适用于需要监控大量主机或动态变化环境的场景,如云环境、容器化环境等
            
            
            
            
        