Redis面试题一(基本概念)

目录

1.redis 为何这么快

基于内存的操作

单线程模型

C语言实现

高效的数据结构

避免磁盘I/O

网络模型优化

2.redis为什么使用单线程

3.缓存三大问题以及解决方案

4.先删后写还是先写后删

先删缓存后写 DB

先写 DB 再删缓存

5.如何保证 Redis 的高并发

6.redis 如何保证原子性

7.redis的使用场景

8.redis分布式锁

场景一:分布式锁

场景二:计数器初始化

场景三:一次性任务调度

命令格式与参数

9. redis数据结构

字符串(String)

列表(List)

哈希(Hash)

集合(Set)

有序集合(Sorted Set,简称ZSet)

位图(Bitmaps)

HyperLogLog

地理位置(Geospatial)

10.redis String 类型的底层实现

 11.有序集合 Zset 的底层实现

12.Zset 为何不使用红黑树等平衡树


1.redis 为何这么快

Redis的快速性能主要归因于其基于内存的数据存储、单线程无锁并发模型、使用C语言实现、精心设计的数据结构、对磁盘I/O的谨慎处理以及高效的网络通信机制。这些特性共同作用,使得Redis能够在处理大量高速数据访问场景时表现出卓越的性能。

  1. 基于内存的操作

    • Redis将数据存储在内存中,而非传统的磁盘存储。内存的访问速度相比磁盘高出几个数量级,通常在纳秒级别,而磁盘I/O则可能达到毫秒甚至更长。这意味着Redis能够几乎实时地对数据进行读取和写入,极大地减少了数据访问延迟,从而实现极高的响应速度。
  2. 单线程模型

    • Redis采用了单线程处理命令请求的设计。尽管现代计算机多核环境下,多线程或多进程能够更好地利用硬件资源&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值