JavaEE-面试-redis的面试思路引导

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/billycoder/article/details/88776493

Redis在面试的时候,被问到的频率还是非常高的,应该是一个必备的知识点

简单介绍?

免费高性能的非关系型的内存数据库。

存储形式为key-value。

value支持4种格式,分别为String、set、list、map。其中String和map常用,其中map最常用。

作为后台开发人员理应掌握redis和MongoDB的使用。

它的出现解决什么问题?

  • 做缓存
    • 缓存提高请求响应速度、减少对数据库频繁操作。

比如,用户对应菜单、用户对应的购物车内容、用户对应的支付日志、品牌id对应的具体品牌信息、userId对应的sessionId、商品对应的广告。ps:我们课程里面涉及到了好多例子滴。

  • 应对某些高并发情况
    • 比如秒杀。

很多用户同时参加秒杀,并发很高。如果使用mysql之类的关系型数据库,可能会出现问题。这个时候,我们可以先把秒杀订单放到redis,最后在同步到mysql之类的数据库。

Redis能读的速度是110000次/s,写的速度是81000次/s

同类型技术?

MongoDB、memcached

如何把握?核心api?

分为服务端和客户端。

  • 服务端

包括Redis在Linux下的安装、Redis的集群

  • 客户端

    客户端操作可以直接用jedis

然后就是调用api就可以了。

客户端操作可以用对jedis封装的spring-data-redis

然后就是调用api就可以了。

实际项目?

我们项目中大量用到了redis,不信你看看,我给你汇总汇总。
###1. erp项目中

缓存某一个UUID,可以访问的所有MenuID:

因为我们用到了shiro,shiro分为认证和授权,每次授权的时候时候知道用户(uuid)对应的菜单(menuid)。这里我们进行缓存,减少数据库的查询。

存:

取:

###2.品优购项目(好多地方用到了,但是总结起来就缓存和应对高并发)

购物车缓存:保存购物车(未登录保存到cookie,登陆后把cookie中购物车保存到redis,删除本地cookie购物车)
支付日志缓存:保存用户的支付日志,map类型。

短信验证码:保存短信验证码到缓存

image.png

保存品牌、规格、广告信息:可以理解为数据字典,减小数据库压力。使用的是 map类型

秒杀:利用到了redis的高并发,Redis递减

###3.淘淘商城

淘淘商城是老项目,单点登录用的redis实现session共享,新项目用的cas做的单点登录,这里redis起到session的共享,或者理解为中转站。

session共享:分布式项目不同服务器上的session需要共享数据,可以通过redis,这里还用到了redis的过期时间。

登录的时候:

根据token,获取用户信息:

相关面试题汇总

序号 问题描述 新增日期
1 你们项目哪里用到redis/Redis你们怎么用的 2018-05-13
2 什么场景会选用redis 2018-05-13
3 redis可以存储什么数据类型 2018-05-13
4 redis具体怎么存储 2018-05-13
5 redis具体是怎么实现的 2018-05-13
6 redis怎么更新的 2018-05-13
7 redis缓存怎么设置大小 2018-05-13
8 Redis怎么和数据库同步 2018-05-13
9 Redis你们怎么部署的 2018-05-13
10 工作中Redis的持久方案,你们是怎么做的 2018-05-13
11 redis怎么做集群 2018-05-13
12 redis问到了主从数据如何同步 2018-05-13
13 还有怎么知道redis是否挂了,挂了以后怎么处理 2018-05-13
14 redis穿透怎么解决 2018-05-14
15 redis服务器挂了怎么办 2018-05-13
16 redis哨兵模式搭建及作用 2018-05-14

面试题答案 https://www.jianshu.com/p/440c002ba1f9

加粗样式

猜你喜欢

转载自blog.csdn.net/billycoder/article/details/88776493