常见Redis面试题

前言

Redis大家都不陌生了,是高并发解决方案居家必备的良药。可以帮助我们解决高并发,存在的性能问题。

作为面试常问中间件,你应该知道这些常见redis面试题。

常见面试题

  1. 单线程的redis为毛这么快?

从以下几点回答,纯内存操作,单线程操作避免了频繁上下文切换,采用非阻塞的多路复用机制。

redis-client在操作的时候,产生不同类型的事件的socket,服务端的IO多路复用程序,将其放入队列,事件派发器会去队列中取,转发到不同的事件处理器中处理。

  1. redis数据类型有哪些?

一共五种。

  • String 常见的get/set操作。
  • hash value可以存放一些结构化的对象信息。
  • list 可以作为简单的队列使用,利用lrange做分页查询。
  • set 存放不重复的集合。
  • sorted set 带有score权重的set集合,可以做排行榜需求。
  1. redis的过期策略有哪些?

定时删除+惰性删除

  • 定时删除:定时器监控key,过期自动删除,过程消耗cpu,一般不采用。
  • 定期删除+惰性删除:每隔100ms检查一次,有过期key则删除,惰性删除是在尝试获取某个key时进行检查,进行删除操作。
  • 内存淘汰机制:可以设置redis的配置 maxmemory-policy volatile-lru,在内存不足时对使用最少的key进行淘汰。
  1. redis缓存穿透和雪崩怎么解决?

缓存穿透:

  • 互斥锁;
  • 异步更新:维护value的失效时间,异步线程进行更新;
  • 布隆过滤器进行拦截;

防止雪崩:

  • 失效事件随机,避免集体失效;
  • 互斥锁,存在性能问题;
  • 多级缓存;
  1. redis并发key竞争如何解决?

一般的采用redis的事务机制,但是在集群环境下数据已经分片就很难搞,redis的事务就显得鸡肋。

分情况讨论:

  • 对顺序没有要求,采用分布式锁进行排队,属于悲观锁方式。
  • 对顺序有要求,采用时间戳方式,在set之前比对时间戳,属于乐观锁方式。

欢迎关注公众号【服务端技术杂谈】,转发,点赞。

转载于:https://my.oschina.net/u/1000241/blog/2999617

回答: Redis常见面试题包括但不限于以下几个方面: 1. Redis的特点和优势:Redis是一个基于内存的NoSQL数据库,支持多种数据结构和丰富的操作,具有高性能、高并发、持久化、主从同步等特点。 2. Redis的数据结构:Redis支持多种数据结构,包括字符串(string)、列表(list)、集合(set)、有序集合(sorted set)和哈希(hash),每种数据结构都有相应的操作方法。 3. Redis的持久化方式:Redis有两种持久化方式,分别是RDB(Redis Database)和AOF(Append Only File)。RDB是将内存中的数据定期保存到磁盘上,而AOF是将每个写操作追加到文件末尾。 4. Redis的使用场景:Redis可以用于缓存、会话管理、计数器、排行榜、消息队列等多种场景。它的高性能和丰富的数据结构使得它在处理大量并发请求和快速读写的场景下表现出色。 5. Redis的并发访问:Redis采用单进程单线程模式,通过队列模式将并发访问变为串行访问。在Jedis客户端对Redis进行并发访问时可能会出现连接超时、数据转换错误、阻塞等问题,需要注意处理这些并发访问的情况。 综上所述,Redis是一个功能强大的基于内存的NoSQL数据库,具有多种数据结构和丰富的操作方法,适用于多种场景。在面试中,了解Redis的特点、数据结构、持久化方式、使用场景和并发访问等方面的知识是非常重要的。 #### 引用[.reference_title] - *1* *2* [redis面试题总结(附答案)](https://blog.csdn.net/guorui_java/article/details/117194603)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [精选 21道 Redis 最常问面试题!收藏一波 !](https://blog.csdn.net/w915209092/article/details/126035419)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值