当前位置: 首页 > news >正文

Java最全面试题->数据库/中间件->Redis面试题

文章目录

  • Redis
    • redis的数据类型有哪些?
    • Redis 内部结构有哪些?
    • Memcache 与 Redis 的区别都有哪些?
    • 为什么 redis 需要把所有数据放到内存中?
    • Redis 如何进行持久化?
    • RDB和AOF的优缺点有哪些?
    • 什么是缓存穿透?如何避免?
    • 什么是缓存雪崩?何如避免?
    • redis的淘汰策略有哪些?
    • Redis是单线程的,但为什么这么快?
    • Redis的内存分为哪些?
    • 说说Redis事务?
    • Redis 常见的性能问题都有哪些?如何解决?
    • Redis 适合的场景有哪些?

Redis

下边是我自己整理的面试题,基本已经很全面了,想要的可以私信我,我会不定期去更新思维导图
哪里不会点哪里
在这里插入图片描述

redis的数据类型有哪些?

  • String
    常规的set/get操作,value可以是String也可以是数字。
    应用:
    一般做一些复杂的计数功能的缓存。
  • hash
    这里value存放的是结构化的对象,比较方便的就是操作其中的某个字段。
    应用:
    单点登录,就是用这种数据结构存储用户信息,以cookieId作为key,设置30分钟为缓存过期时间,能很好的模拟出类似session的效果。、
  • list
    List的数据结构
    应用:
    可以做简单的消息队列的功能。另外,可以利用lrange命令,做基于redis的分页功能,性能极佳,用户体验好。生产者和消费者的场景,LIST可以很好的完成排队,先进先出的原则。
  • set
    因为set堆放的是一堆不重复值的集合。
    应用:
    可以做全局去重的功能。为什么不用JVM自带的Set进行去重?因为我们的系统一般都是集群部署,使用JVM自带的Set,比较麻烦,难道为了一个做一个全局去重,再起一个公共服务,太麻烦了。另外,就是利用交集、并集、差集等操作,可以计算共同喜好,全部的喜好,自己独有的喜好等功能。
  • sorted set
    sorted set多了一个权重参数score,集合中的元素能够按score进行排列。
    应用:
    可以做排行榜应用,取TOP N操作。

Redis 内部结构有哪些?

  • dict
    本质上是为了解决算法中的查找问题(Searching)是一个用于维护key和value映射关系的数据结构,与很多语言中的Map或dictionary类似。本质上是为了解决算法中的查找问题(Searching)。
  • sds
    sds就等同于char * 它可以存储任意二进制数据,不能像C语言字符串那样以字符’\0’来标识字符串的结束,因此它必然有个长度字段。
  • skiplist 跳跃表
    跳表是一种实现起来很简单,单层多指针的链表,它查找效率很高,堪比优化过的二叉平衡树,且比平衡树的实现。
  • ziplist 压缩表
    ziplist是一个编码后的列表,是由一系列特殊编码的连续内存块组成的顺序型数据结构。

Memcache 与 Redis 的区别都有哪些?

  • 存储方式不同:
    Memcache 是把数据全部存在内存中,数据不能超过内存的大小࿰

http://www.mrgr.cn/news/58769.html

相关文章:

  • 铜业机器人剥片 - SNK施努卡
  • 论文笔记(五十)Segmentation-driven 6D Object Pose Estimation
  • 基于vue框架的的高校设备信息管理系统的设计与实现tx6d7(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • 如何新建一个React Native的项目
  • npm的使用
  • FAQ-为什么交换机发给服务器的日志显示的时间少8小时
  • Data Modeling
  • simple framebuffer显示去光标闪烁
  • C++ (六) 输入输出和文件操作:C++的魔法书卷
  • 【74LS138+74LS48组成模拟拔河+数码管显示】2022-5-29
  • SQLI LABS | Less-10 GET-Blind-Time based-double quotes
  • DOSBox汇编编译准备工作及初步编译
  • snmptranslate样例
  • Python流程控制专题:循环与else
  • 瞬间升级!电子文档华丽变身在线题库,效率翻倍✨
  • bug-JavaArrays.fill()隐藏问题
  • Golang | Leetcode Golang题解之第508题出现次数最多的子树元素和
  • 同时支持10m 100m 1000m的phy设备驱动
  • Java进阶篇设计模式之一 ----- 单例模式
  • 【必收藏】史上最全AI工具大盘点!一篇搞定所有需求
  • 经常聊架构模式,设计模式,编程模式,也谈谈“反模式”
  • Python游戏开发超详细第二课/一个小游戏等制作过程(入门级篇共2节)
  • 雷赛DMC5X10系列控制卡——机械原点和工作原点原理
  • 数学证明相关的矩分析。
  • 查缺补漏----CPU,主存数据传送
  • masm 6.15下载及DOSBox自动挂载