美文网首页
Redis综合一

Redis综合一

作者: 开心的蛋黄派 | 来源:发表于2024-05-26 09:16 被阅读0次

    1. Redis哨兵机制

    • 主观下线:指单个Sentinel实例根据自己的检测和判断,认为某个Redis节点(可能是主节点或从节点)已不可用。
    • 客观下线:指多个Sentinel实例对某个Redis主节点状态检测后形成的共识,即该主节点确实已不可用。

    2. Redis淘汰策略

    • noeviction:不删除任何数据,拒绝写入。
    • volatile-lru/lfu:以过期时间为淘汰目标,使用LRU或LFU算法。
    • allkeys-lru/lfu:以所有keys为淘汰目标,使用LRU或LFU算法。
    • allkeys|volatile-random:随机淘汰数据。

    3. Redis数据迁移方案

    • Redis-Shark
    • 阿里云DTS

    4. Redis架构

    • 主从架构
    • 集群架构

    5. 集群概念

    Redis集群由多组主-从Redis服务构成,每组含一个主节点和一个或多个从节点。默认分配16384个哈希槽,这些槽在集群成员中分配。数据写入时,使用CRC16算法计算键的哈希值,并根据该值将数据写入对应的哈希槽。查询时,也通过CRC16算法确定数据所在槽,然后重定向到负责该槽的成员节点查询。

    6. IO多路复用技术

    Redis的I/O多路复用允许单个线程同时监听多个Socket连接。当Socket可读或可写时,系统会通知,优化CPU资源使用。在Linux上,这通常通过epoll实现,能在Socket就绪时及时通知用户进程,提高I/O性能。

    7. 快速原因

    Redis之所以快,得益于其内存存储、I/O多路复用、单线程模型及高效数据结构和类型。

    8. 应用场景

    • 缓存
    • 永久存储
    • 队列
    • 分布式锁

    9. 热keys分析方法

    1. 业务经验预估
    2. 客户端收集
    3. Proxy层收集
    4. Redis自带命令:如MONITOR分析、hot-keys捕捉(注意高并发下的内存消耗)
    5. 第三方分析工具:如redis-faina

    10. Redis重要参数

    • timeout:客户端连接超时时间(秒)。默认为0,表示不超时。
    • client-output-buffer-limit:设置客户端输出缓冲区大小限制。包括normal、slave、pubsub等不同类型的客户端。
    • maxclients:同时可连接的客户端数量。默认为10000。
    • maxmemory:Redis可使用的最大内存量。达到此值后,根据maxmemory-policy进行淘汰。
    • maxmemory-policy:内存不足时的淘汰策略。包括noevictionallkeys-lruvolatile-lru等选项。

    这些参数对于调整Redis性能至关重要,需根据实际场景合理配置。

    10 数据类型
    基本数据类型 字符串 hash 列表
    集合 有序集合
    特殊数据类型和高级功能 位图 超日志 地理空间 流 发布订阅

    11读写延迟
    1网络延时或者丢包
    2 有big keys阻塞
    3 redis本身压力过高

    相关文章

      网友评论

          本文标题:Redis综合一

          本文链接:https://www.haomeiwen.com/subject/alkefjtx.html