秋招马上要开始了,为了进入好公司,刷面试题可不能停
01、什么是redis
redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(string,list列表[队列和栈],set[集合],sorted set[有序集合] hash(hash表))
02、为什么要使用redis
当我们做了一个项目,比方说个人博客,我们把这个项目发布到自己的服务器,一般来说,我们做的这个项目没有商用,访问量会很小,这个时候,我们不使用redis也可以,可以要访问量直接经过mysql,我们都知道,mysql是在磁盘上面,读取需要一点时间,访问量小的时候,这些时间我们可以忽略不及。
但是,当我们做了一个大型的商用项目,例如淘宝,那么访问量就会成几何数上升,特别是双十一的时候,并发量更是达到顶峰,这个时候,如果我们还是用mysql,那么大量的访问会让服务器处理速度非常的慢,甚至宕机,所以这个时候我们就要使用redis
redis是在内存上面,我们知道内存读取数据非常的快,当大量的访问量余姚访问某一个数据的时候,我们把这个数据存放在redis里面,那么这样,我们的服务器就不会宕机。
03、什么是redis雪崩
当大量的redis失效的时候,大量的访问直接打在我们的数据库上面,于是导致服务器访问变慢甚至宕机。
解决方法:
- 设置redis永远不会过期
- 给每个redis设置随机的过期时间
04、什么是redis击穿
当出现一个热点数据,譬如说当年鹿晗和关晓彤谈恋爱的时候,这个就是一个热点数据,当有大量的访问同时访问一个数据,然后这个热点数据在某个时进段过期了,那么大量的请求就会打在我们的数据库上面,便会造成服务器的宕机。
解决方法:
当redis热点数据失效时,我们把全部的访问量锁住,只通过一个访问,让他去数据库查询&#