美文网首页面试
Redis面试篇

Redis面试篇

作者: SkylerSkr | 来源:发表于2020-11-18 23:23 被阅读0次

前言

准备开一个新的系列,总结一些面试里吹牛皮的地方,不涉及太多细节,但是方方面面的都吹会起来。
这篇文章主要写Redis的方方面面。

基础结构

1.String会预分配空间,就像java的ArrayList,1MB以下每次扩容空间翻倍,1MB以上每次加1MB,最大512MB
2.List在列表元素少时,使用ZipList(双向指针,空间连续性,扫描磁盘更快)
3.Hash对象在扩容的时候,会创建一个新Hash对象,使用渐进式复制,用到哪个字段了再把这个字段的值赋值到新对象
4.Zset使用跳表来做排序

复合结构

1.位图结构,位图最小的单位是bit,每个bit是由0或1构成
2.GeoHash结构(坐标),用Zset实现,Score用经纬度+base32
3.HyperLogLog去重记数,有误差1%,12KB的大小,例如:记录某个页面有多少人访问过(会重复访问)
4.BloomFilter(布隆过滤器),用位数组(二进制)实现,判断某个值一定存在或一定不存在,一个key对应几位,只要几位都是1就是存在

Redis附加功能

1.Pipeline,把多条消息捏在一起发送给Redis服务器,客户端提供的功能
2.scan、hscan、sscan可以对String、Hash、Set进行分页模糊匹配
3.Redis漏油桶机制,Redis Cell
4.分布式锁,setnx(存在就设置返回1,否则返回0),返回1代表坑位被占领了,拿到锁
5.消息队列

  • 用List结构,实现简单的生产消费者
  • 发布订阅模式subscribe订阅,publish推送,psubscribe模糊订阅
    没有Ack确认机制
    消息没办法持久化,如果Redis宕机了,消息就找不回来了

Redis吹牛PLUS

1.Redis缓存穿透、雪崩、击穿(这个自己百度啦,都说烂了)
2.Redis有自己的通讯协议,RESP(Redis Serialization Protocol)
3.Redisserver默认有16个数据库,每一个数据库下有两个数组,dict数组保存键的值,expires数组保存键的过期时间
4.Redis多线程,Redis6.0之后支持多线程,Redis主线程是单线程的,但是IO是多线程的,会维护一个指令队列,先到先服务
5.过期键

  • 清理过期键的方式:定时清理,惰性清理(用的时候才会判断是否过期),定期清理(结合前两种,一次清理一定量的key)
  • 过期键不会写入RDB文件和AOF文件。过期键被删除时,会追加一条DEL命令到AOF文件
  • 主服务器里删除过期键,会给每个节点发送一个DEL指令。从服务器删除过期键,等主服务器发DEL指令。

相关文章

  • 面试篇:Redis

    1. 什么是Redis Redis本质上是一个Key-Value的内存数据库,定期通过异步操作把数据flush到硬...

  • Redis面试篇

    前言 准备开一个新的系列,总结一些面试里吹牛皮的地方,不涉及太多细节,但是方方面面的都吹会起来。这篇文章主要写Re...

  • Redis面试篇

    Redis篇 一、Redis单线程为什么快? 网络层面:在操作系统层面使用了操作系统提供的Epoll函数,并且在E...

  • 第二十二周-94-NoSQL-Redis缓存技术

    Redis缓存技术-运维篇—olgguo导师无论面试还是工作,关于Redis理解这些就够了 0. NoSQL 产品...

  • 《我想进大厂》之Redis夺命连环11问

    这是面试题系列第三篇--redis专题。 说说Redis基本数据类型有哪些吧 字符串:redis没有直接使用C语言...

  • Redis学习笔记系列篇

    前言 继设计模式系列篇之后,我又向redis开刀了。前一段时间面试被面试官问到redis,因为简历项目中用到了,但...

  • Redis 面试宝典之如何设计不宕机的 Redis 高可用服务?

    Redis 面试宝典系列的其它文章: Redis 面试宝典之 Redis 内存用完会怎样?[https://www...

  • Redis面试知识

    title: Redis面试知识tags: Redis 本文参考公众号 高可用架构 的10个常见的Redis面试...

  • 京东二面,Redis为什么这么快?

    面试开始面试官: 今天聊聊Redis吧面试官 : 都说Redis速度快,那Redis为什么这么快呢?大彬 :主要是...

  • redis

    Redis事务介绍(四)redis面试题

网友评论

    本文标题:Redis面试篇

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