vlambda博客
学习文章列表

后宫佳丽三千,面试官为啥就独宠Redis一个?

在面试的时候,常被问比较下Redis与Memcache的优缺点,个人觉得这二者并不适合一起比较,一个是非关系型数据库不仅可以做缓存还能干其他事情,一个是仅用做缓存。我认为还是Reids牛逼一些,所以在一二线大厂都问的多那么Redis到底能干什么?又有什么优势,能被这么多面试官集宠爱于一身

后宫佳丽三千,面试官为啥就独宠Redis一个?

Redis到底能干啥子

我来给大家举几个栗子:

1.排行榜,如果使用传统的关系型数据库来做,非常麻烦,而利用Redis的SortSet数据结构能够非常方便搞定;

2.计算器/限速器,利用Redis中原子性的自增操作,我们可以统计类似用户点赞数、用户访问数等,这类操作如果用MySQL,频繁的读写会带来相当大的压力;限速器比较典型的使用场景是限制某个用户访问某个API的频率,常用的有抢购时,防止用户疯狂点击带来不必要的压力;

3.好友关系,利用集合的一些命令,比如求交集、并集、差集等,可以方便搞定一些共同好友、共同爱好之类的功能;

4.简单消息队列,除了Redis自身的发布/订阅模式,我们也可以利用List来实现一个队列机制,比如到货通知、邮件发送之类的需求,不需要高可靠,但是会带来非常大的DB压力,完全可以用List来完成异步解耦;

5.功能丰富Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。


上面说了Redis的一些常用的使用场景,接下来我们看一些面试题


(0)redis为什么是key,value的,为什么不是支持SQL的?

(1)redis是多线程还是单线程?

(2)redis的持久化开启了RDB和AOF下重启服务是如何加载的?

(3)redis如果做集群该如何规划?AKF/CAP如何实现和设计?

(4)10万用户一年365天的登录情况如何用redis存储,并快速检索任意时间窗内的活跃用户?

(5)redis的5种Value类型你用过几种,能举例吗?

(6)100万并发4G数据,10万并发400G数据,如何设计Redis存储方式?

(7)Jedis 连接池链接方法有什么优点?


看到这里的你心想:这几道题果真有点难度啊~




原价199元,仅需:0.1元

 扫描下方二维码获取特价链接

扫码添加助理,直播授课只需0.1元


购买课程后领取福利:

  1. 领取亿级流量实战类电子书;

  2. 领取redis课程预习资料

  3. 往期web开发高级实战录播获取

  4. 参加“Redis”在线直播课程