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

redis map最多可以放多少条数据 redis支持map吗_redis map最多可以放多少条数据

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

redis map最多可以放多少条数据 redis支持map吗_redis_02

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

redis map最多可以放多少条数据 redis支持map吗_redis_03

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

redis map最多可以放多少条数据 redis支持map吗_缓存_04

实际项目?

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

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

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

存:

redis map最多可以放多少条数据 redis支持map吗_Redis_05

取:

redis map最多可以放多少条数据 redis支持map吗_redis_06

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

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

redis map最多可以放多少条数据 redis支持map吗_redis_07

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

redis map最多可以放多少条数据 redis支持map吗_redis_08

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

redis map最多可以放多少条数据 redis支持map吗_缓存_09

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

redis map最多可以放多少条数据 redis支持map吗_Redis_10

###3.淘淘商城

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

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

登录的时候:

redis map最多可以放多少条数据 redis支持map吗_redis_11

根据token,获取用户信息:

redis map最多可以放多少条数据 redis支持map吗_缓存_12