• Redis


    redis和mysql区别和联系

    粗浅理解,redis 是用在mysql前面的,如果redis里面存了就用redis处理,redis没存就用mysql处理,mysql 处理之后会存到redis 中,但是隔一段时间又会被释放,它处理速度很快,但是不能用来大量长期存储数据。所以一般使用redis来处理高并发的数据,提高处理速度,但是所有数据都会在mysql中再存储,降低数据丢失的可能性。

    linux 操作 redis 的指令

    redis 的启动、关闭 判断其是否在运行中
    #检查后台进程是否正在运行
    ps -ef |grep redis
    ps aux | grep redis
    
    #检测6379端口是否在监听
    netstat -lntp | grep 6379
    
    #使用配置文件启动redis服务
    ./redis-server /etc/redis/redis.conf
    
    #使用`redis-cli`客户端检测连接是否正常
    ./redis-cli -h 127.0.0.1 -p 6379    (登陆客户端)
    
    #关闭redis:    
    redis-cli shutdown
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    redis 基础语法

    redis 使用规范

    zset 去重+排序
    拒绝 bigkey

    热点key 可以设置随机数分散key的使用量
    key 有生存周期,超时redise会自动清除
    超时时间建议打散,固定时间+随机时间

    建议使用批量操作,提高效率(sql也是一样的,mapper batchsave)
    一批量不建议太多,可以先循环500 批量插一次。

    高频使用的才用redis 不高频的放在mysql中
    redis 只能用作缓存,用在数据库前面
    redis里面有就在redis查,没有的查mysql

    高可靠要求的数据,更倾向于存在持久化存储的数据库中

    缓存穿透:redis中不存在的key
    缓存雪崩:redis 缓存实例处理量比mysql大很多,redis好多查不到的就会造成mysql 崩掉

    1. 大量热点数据同时过期(加随机数),
    2. redis 缓存实例发生故障,宕机了
      避免雪崩:没有让 redis 存一个空对象,避免下次再打到数据库

    乐高框架:行内常用的资源框架,使用jedis连接池
    每次调用都复用一开始的50个链接,而不是每次重建,控制连接数,降低创建和回收浪费的资源

    高并发 最大连接数配置

    空闲连接的配置
    设置最大的等待时长,不使用默认值

    链接超时:连接等待时间

    有效性探测推荐用false 避免高并发时增加一次ping
    拓扑/槽变化:有几个节点在提供服务

    设置key的标准,不符合标准的不进行redis访问,避免建立无效链接

    RDB 每段时间会快照
    AOF 通过打日志添加到内存

    一次拿出所有key 用 hscan方法,循环批量删除,不要一次全都删除

    回去看一下现在 redis 的配置

  • 相关阅读:
    聚苯硫醚修饰牛血清白蛋白/人血清白蛋白/卵清白蛋白纳米粒PPS-PEG-BSA/HSA/OVA(规格信息)
    在互联网上赚到钱的人,都有一个秘密?
    Android Animation动画特效
    【后端】Java学习笔记(二周目-1)
    解决若依Ruoyi 插入数据返回1,实现主键回填,返回主键ID
    【React】unmountComponentAtNode卸载组件
    yandex的目标设置参考1(针对不同类型的网站)
    seata分布式事务部署,springCloud集成seata。
    Uniapp 图片选择插件(支持视频、音频) Ba-MediaPicker
    C++圆的面积与周长 自定义函数
  • 原文地址:https://blog.csdn.net/weixin_42802447/article/details/132742791