• redis 高级用法 持久化方案 主从复制原理与优化


    一、redis高级用法

    # 慢查询相关
    # pipeline与事务
        -pipeline每次只能作用在一个Redis的节点上(如果做了集群,就没有pipline了)
        
       -悲观锁和乐观锁
       -redis只能实现乐观锁:https://www.cnblogs.com/liuqingzheng/p/9997092.html
            # 2 模拟乐观锁
            # 在开启事务之前,先watch
            wathc age
            multi
            decr age
            exec
    
            # 另一台机器
            mutil
            decr age
            exec  # 先执行,上面的执行就会失败(乐观锁,被wathc的事务不会执行成功)
            
            
            
    # 发布订阅
    #Bitmap位图
    # HyperLogLog:极小的空间完成独立数量统计
        -pfadd key element  增加(重复了不会增加)
        -pfcount key         统计个数
        -去重,独立用户统计,有错误率
        
    # GEO(redis,es)
        # 插入
        geoadd cities:locations 116.28 39.55 beijing #把北京地理信息天津到cities:locations中
        geoadd cities:locations 117.12 39.08 tianjin
        geoadd cities:locations 114.29 38.02 shijiazhuang
        geoadd cities:locations 118.01 39.38 tangshan
        geoadd cities:locations 115.29 38.51 baoding
        # 计算北京到天津的距离
        geodist cities:locations beijing tianjin km
        # 计算北京方圆150km内的城市
        georadiusbymember cities:locations beijing 150 km

    二、持久化

    1.rdb方案(快照式)

    # 两种:
        -rdb:缓存
        -aof:对数据准确性要求高一些
    # rdb:触发方式三种
        -手动 save
            
        -手动 bgsave
        
        -配置文件
        配置   seconds   changes
        save   900        1     #900秒 一次修改触发
        save   300        10  #300秒 10次修改触发
        save   60         10000  #60秒一万次修改触发
        
        
    # 最佳配置
    save 900 1 
    save 300 10 
    save 60 10000 
    dbfilename dump-3306.rdb  #以端口号作为文件名,可能一台机器上很多reids,不会乱
    dir /bigdiskpath #保存路径放到一个大硬盘位置目录
    stop-writes-on-bgsave-error yes #出现错误停止
    rdbcompression yes #压缩
    rdbchecksum yes #校验

    2.2 aof(日志式)

    客户端每写入一条命令,都记录一条日志,放到日志文件中,如果出现宕机,可以将数据完全恢复
    
    # AOF 重写
        本质就是把过期的,无用的,重复的,可以优化的命令,来优化
        这样可以减少磁盘占用量,加速恢复速度
        
        
    # aof的最佳配置
    appendonly yes #将该选项设置为yes,打开
    appendfilename "appendonly-3306.aof" #文件保存的名字
    appendfsync everysec #采用第二种策略
    dir /data #存放的路径
    no-appendfsync-on-rewrite yes

     三、主从复制原理与优化

    # 手动配置
    在6380上执行(去从库配置,配置主库)
    # 127.0.0.1 6379主库
    # 127.0.0.1 6380 从库
    # 在从库上执行,就建立了主从
    slaveof 127.0.0.1 6379 #异步
    # 取消主从
    slaveof no one #取消复制,不会把之前的数据清除
    
    
    # 配置文件配置
    daemonize no
    pidfile redis.pid
    bind 0.0.0.0
    protected-mode no
    port 6379
    timeout 0
    logfile redis.log
    dbfilename dump.rdb
    dir /data
    # 指定主库为10.0.0.101 6379
    slaveof 10.0.0.101 6379
    # 从库只读
    slave-read-only yes
  • 相关阅读:
    Oracle查询今天的数据(昨天、本周...)
    Windows添加删除 route
    大三寒假学习进度(九)
    大三寒假学习进度(八)
    大三寒假学习进度(七)
    大三寒假学习进度(六)
    大三寒假学习进度(五)
    《软件架构师应该知道的97件事》阅读笔记(一)
    大三寒假学习进度(四)
    大三寒假学习进度(三)
  • 原文地址:https://www.cnblogs.com/ltyc/p/14454176.html
Copyright © 2020-2023  润新知