Redis入门到精通路径

1.和Map类型对比:redis支持分布式缓存,具有一致性。
2.使用单线程就很快了,没有必要使用多线程,增加线程之间切换到消耗。多核服务器可以启动多个服务实例。
3.使用I/O复用模型:多路是指多个网络连接,复用是指杜勇同一个线程,让单个线程高效的处理多个连接请求(尽量减少网络IO 的时间消耗)。
4.持久化:一种方式是快照(snapshotting,RDB),另一种方式是只追加文件(append-only file,AOF)。
    RDA配置参数:
        save 900 1           #在900秒(15分钟)之后,如果至少有1个key发生变化,Redis就会自动触发BGSAVE命令创建快照。
        save 300 10          #在300秒(5分钟)之后,如果至少有10个key发生变化,Redis就会自动触发BGSAVE命令创建快照。
    
    AOF(append-only file)持久化:
        appendonly yes:开启持久化
        //设置模式
        appendfsync always    #每次有数据修改发生时都会写入AOF文件,这样会严重降低Redis的速度
        appendfsync everysec  #每秒钟同步一次,显示地将多个写命令同步到硬盘
        appendfsync no        #让操作系统决定何时进行同步
5.缓存雪崩:缓存同一时间大面积的失效,所以,后面的请求都会落到数据库上,造成数据库短时间内承受大量请求而崩掉。
    解决办法:
        尽量保证整个redis集群的高可用性。
        hystrix限流&降级,避免MySQL崩掉。
6.缓存穿透:黑客故意去请求缓存中不存在的数据,导致所有的请求都落到数据库上
    解决办法:
        布隆过滤器,可能存在的数据哈希到一个足够大的Map中,拦截掉不存在的数据。
        查询结果为空,并进行缓存。
7.分布式锁
    优先使用zk作为分布式锁。

8.主从高可用配置:
方案为1主2从,配置3个哨兵(哨兵就是在server目录下创建sentienl.cnf)
    主服务配置(redis.windows.conf)
        port 6000
        bind 192.168.1.223
        requirepass 123456 
 
    从1服务配置(redis.windows.conf)
        port 6001
        bind 192.168.1.223
        slaveof 192.168.1.223 6000
        masterauth 123456
        requirepass 123456

    哨兵配置:
        哨兵1配置(sentinel.conf)
            port 60000
            bind 192.168.1.223
             
            sentinel monitor mymaster 192.168.1.223 6000 2
            sentinel down-after-milliseconds mymaster 5000
            sentinel failover-timeout mymaster 15000
            sentinel auth-pass mymaster 123456
            protected-mode yes
     
        哨兵2配置(sentinel.conf)
            port 60001
            bind 192.168.1.223
             
            sentinel monitor mymaster 192.168.1.223 6000 2
            sentinel down-after-milliseconds mymaster 5000
            sentinel failover-timeout mymaster 15000
            sentinel auth-pass mymaster 123456
            protected-mode yes
        哨兵3配置(sentinel.conf)
        port 60002
        bind 192.168.1.223
         
        sentinel monitor mymaster 192.168.1.223 6000 2
        sentinel down-after-milliseconds mymaster 5000
        sentinel failover-timeout mymaster 15000
        sentinel auth-pass mymaster 123456
        protected-mode yes
    启动服务:redis-server.exe redis.windows.conf
    启动哨兵:redis-server.exe sentinel.conf --sentinel 


 

发布了31 篇原创文章 · 获赞 1 · 访问量 1167

猜你喜欢

转载自blog.csdn.net/quietbxj/article/details/103989085
今日推荐