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

Redis高频核心面试题

 1.阐述Redis的主要的特性和优势 ?

【Redis 的主要特性】 

(1)Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库
(2)Redis 与其他 key - value 缓存产品有以下三个特点:
(3)Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
(4)Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。
(5)Redis 支持数据的备份,即 master-slave 模式的数据备份。 

【Redis 的优势】
性能极高 – Redis 能读的速度是 110000 次/s,写的速度是 81000 次/s 。
丰富的数据类型 – Redis 支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子 – Redis 的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。 单个操作是原子性的。 多个操作也支持事务, 即原子性, 通过 MULTI 和 EXEC指令包起来。
丰富的特性 – Redis 还支持 publish/subscribe, 通知, key 过期等等特性。 

2.Redis 与其他 key-value 存储有什么不同?

(1)Redis 有着更为复杂的数据结构并且提供对他们的原子性操作, 这是一个不同于其他数据库的进化路径。 Redis 的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象 

(2)Redis 运行在内存中但是可以持久化到磁盘, 所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是, 相比在磁盘上相同的复杂的数据结构, 在内存中操作起来非常简单, 这样 Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

3.简述Redis的数据类型? 

1:String (字符串)
格式:set key value
String 类型是二进制安全的。Redis的string可以包含任何数据,比如jpg图片或者序列化的对象。
String 类型是redis最基本的数据类型,一个键最大能存储512MB。

2:Hash(哈希)
格式:hmset name key1 value1 key2 value2
Redis hash是一个键值(key=>value)对集合,
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。

3:List(列表)
Redis列表是简单的字符串列表,按照插入插入顺序排序。可以添加一个元素到列表的头部或者尾部。
格式:lpush name value
在key对应list的头部添加元素
格式:rpush name value
在key对应list的尾部添加元素
格式:lrem name index
Key 对应list中删除count个和value相同的元素
格式:llen name
返回key对应的list长度

4:Set(集合)
格式:sadd name value
Redis的set是string类型的无序集合。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是0。

5:Zset(sorted set:有序集合)
格式:zadd name score value
Redis zset和set一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个 double类型的分数。Redis正是通过分数来为集合中的成员进行从小到大排序的。
Zset 的成员是唯一的,但分数(score)却可以重复。

如何使用redis记录上亿用户连续登录天数 

给你一个亿redisKey统计双方的共同好友 

redis如何实现上亿用户实时积分排行榜 

秒杀系统如何设计 

RDB和AOF机制 

Redis单线程为什么这么快 

Redis的持久化机制 

Redis过期键的删除策略 

Redis分布式锁底层是如何实现的 

Redis和Mysql如何保证数据一致 

Redis集群方案 

Redis如何设置Key的过期时间 

Redis线程模型 ,单线程为什么快

 Redis有哪些数据结构?分别有哪些典型应用场景

redis主从复制的核心原理 

redis过期策略以及内存淘汰机制 

简述什么是缓存热点数据和冷数据 

简述什么是缓存降级 

简述什么是缓存预热,缓存更新 

redis提供发布/订阅的功能模式 

redis如何实现消息队列 

 

相关文章:

  • 网络安全职业技能大赛Server2003
  • ECharts 关系图表开发指南与 Vue3 组件封装
  • 杂谈-有感而发
  • LOAM的原理分析,源码解读,和运行调试
  • 接口测试和功能测试详解
  • SQL Server 2022 常见问题解答:从安装到优化的全场景指南
  • 使用 JUnit 4在 Spring 中进行单元测试的完整步骤
  • Pingora vs. Nginx vs. 其他主流代理服务器性能对比
  • Python 的 datetime 模块使用详解
  • 【Linux】详细介绍进程的概念
  • 小白自学python第一天
  • Fabric.js 设置画布背景
  • AI在Java语言的发展方向与涉及领域——一场深度的求职面试
  • Spring AI - Redis缓存对话
  • 基于Flask与Ngrok实现Pycharm本地项目公网访问:从零部署
  • 开源模型应用落地-语音合成-Spark-TTS-零样本克隆与多语言生成的突破
  • 浏览器相关知识点
  • 【AI 加持下的 Python 编程实战 2_09】DIY 拓展:从扫雷小游戏开发再探问题分解与 AI 代码调试能力(上)
  • Joint communication and state sensing under logarithmic loss
  • iOS18 MSSBrowse闪退
  • 2025一季度,上海有两把刷子
  • 新任乒协副主席马龙:感谢刘国梁,愿把经验传给年轻运动员
  • 陈曦任中华人民共和国二级大法官
  • 广汽全域赋能,领程皮卡概念车重磅登陆上海车展
  • 江西九江市人大常委会原副主任戴晓慧主动交代问题,接受审查调查
  • 商务部:服务业扩大开放试点任务多数来源于经营主体实际需要