美文网首页
Redis知识点整理

Redis知识点整理

作者: 缘木求鱼的鱼 | 来源:发表于2020-01-07 12:13 被阅读0次

  Redis无论在实际运用中和面试提问中都十分重要,本文将带大家一起整理一下Redis的重要知识点和常用方法。

一. 数据类型

    1. Redis有哪些数据类型?
      String, Hash, List, Set, Zset. (相比Memcached优势是拥有丰富的数据类型)。
    1. Zset底层实现?
      底层采用跳表实现,和树有相同的操作(查询,更新,删除)效率,比树实现起来更简单。基于简单的链表结构,分层加速索引效率。


    1. 键过期删除策略?
      惰性删除+定期删除

二. 操作注意项

    1. keys * (查询所有键值),会阻塞整个服务,用scan代替。
    1. lpop非阻塞式pop,在处理消费者问题时建议用blpop阻塞式pop。
    1. Redis支持事务吗?
      支持。MULTI开启事务,EXEC提交事务,DISCARD回滚事务。
    1. 高并发如何保证数据一致性?
      采用分布式锁,SET key value [ NX|XX]。

三. 持久化

    1. rdb, 采用save(阻塞服务)或bgsave(默认同步方式,fork复制子进程时短暂阻塞服务) ,对内存进行快照保存。
      优点:dump文件较小,数据恢复快。
      缺点:可能在宕机时未触发bgsave从而丢失数据。bgsave fork子进程,会占用大量内存。
    1. aof,采用增量式保存插入和更新命令。
      优点:数据完整性高。
      缺点:恢复文件可能很大。

四. 集群

    1. 主从模式(保证高可用加上哨兵机制)。
    1. 集群模式。
      a. 官方推出基于CRC16 算法将key分布于1684个hash槽中。
      b. 实际生产中常用Redis Sharding 客户端分片技术,采用一致性hash算法,将key分布于集群node中。


五. 其它

    1. 如何保证缓存和数据库数据一致性?
      简单情况下:先删缓存后更新数据库。
      复杂情况下(高并发):请求串行化(引入队列解决)。
    1. 如何处理热点key?
      a. 可以预计热点key时: key + randomValue
      b. 无法预计热点key时:需要对key监控,发现热点key,采用a方案
      c. 采用进程缓存
      d. 最差情况下,限流,拒绝服务
    1. 缓存穿透,雪崩?
      a. 穿透:DB返回null,redis不进行缓存,从而导致该key请求直接打到DB上。
      解决方案:对于无效值提前过滤,或加入缓存。
      b. 雪崩:key设置相同过期时间,大量key同时过期,导致请求打到DB上。
      解决方案:设置随机过期时间。

相关文章

  • Redis知识点整理

    优势 性能极高 – 内存操作,单线程,非阻塞I/O多路复用机制 丰富的数据类型 – String、List、Has...

  • Redis知识点整理

      Redis无论在实际运用中和面试提问中都十分重要,本文将带大家一起整理一下Redis的重要知识点和常用方法。 ...

  • Redis知识点整理

    知识点 Redis 是什么? Redis 是 C 语言开发的一个开源的高性能键值对(key-value)的 NoS...

  • Redis知识点整理

    1、zset实现?

  • 你可能不知道的redis

    前言 以下是针对redis的知识点整理,用于复习,主要以罗列为主,详细具体讲解可以参考书《Redis设计与实现》,...

  • redis知识点整理(3)redis进阶

    上两篇文章从为什么用NoSQL,NoSQL分类简单概述,redis的基本情况(单线程),redis五大数据类型和三...

  • Redis分片知识点整理

    上图是Redis分片话题的笔记整理:Partitioning: how to split data among m...

  • 每周阅读(8/22/2016)

    Redis消息队列性能测试及知识点整理还是Redis入门 从优化性能到应对峰值流量:微博缓存服务化的设计与实践微博...

  • Redis教程(二)——Redis的持久化

    ok,今天我们来整理下Redis持久化这个知识点,Redis的持久化对于分布式缓存来说是必不可少的一个部分,试想,...

  • Redis 学习笔记

    Redis 学习笔记 原文:硬核!16000 字 Redis 面试知识点总结,建议收藏! Redis 基础知识 R...

网友评论

      本文标题:Redis知识点整理

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