redis面试必备的十大面试题


前言

具行业大佬打听得知,redis一直是各公司面试必问的,今天斗胆从大佬 电脑中窃取到redis面试题目,舍命分享给大家,望大家珍惜,不用谢我,因为我叫雷锋。


答应我背下来好吗????

1.Redis的高并发和快速原因?你为什么选择redis?Redis跟其他缓存相比,优势在哪里?

  • redis是基于内存的,内存的读写速度非常快;
  • redis是单线程的,省去了很多上下文切换线程的时间;
  • redis使用I/O多路复用技术,可以处理并发的连接。(客户端的连接不占用线程资源,只有当命令成功发送的时候,才会进入单线程,然后依次执行)

解释:多路:多个socket、多个客户端、多个黑窗口
复用:多用一个线程

图解如下:
redis图解

2.redis为什么是单线程的?

  • 官方答案:因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了。

3.Redis的单线程的优劣性?

  • 单线程的优势:代码清晰,处理逻辑简单
  • 单线程的劣势:无法发挥多核CPU的性能,不过可以通过在单机开多个Redis实例来完善。

4.Redis中的数据类型有哪些?

  • String:字符串类型,一个key对应一个值,可以存储任何内容,图片、视频都行,但是大小限制在512M以内。
  • List:列表,单键多值,值可以重复。
  • Set:集合,单间多值,值不可以重复。
  • Hash:散列,key后面跟着field属性,从而确定一个值。
  • zSet:有序集合,单键多值,有序不重复集合,可以自动排序。

5.跳表的原理是什么?

  • 跳表是一个随机化的数据结构,实质是一种可以进行二分查找的有序链表。跳表是在原有的有序链表上增加了多级索引,通过索引可以进行快速查找。跳表不仅可以提高搜索的性能,而且能提高插入和删除的性能。Redis中的zSet集合底层就是运用了这种数据结构。

6.Redis相关命令

Redis key

  • 1.exists key判断某个key是否存在
  • 2.expire key 10 10秒钟:为给定的key设置过期时间

String

  • 1.setnx key value :只有在key不存在的时候设置key的值
    常用来做分布式锁
  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值