应届生Redis常问面试点。
Redis面试点:(key-value)
- value数据类型有哪些?
五种:(1)String(字符串) 可以用来手机验证码注册。
(2)Hash(哈希表) 哈希(key-value)可以用来存储一些信息,比如对应手机号码的用户信息。
(3)List(队列) 可以作为消息队列使用,队列(先进先出)比如多用户发送短信,可以将手机号码存进消息队列中。
(4)Set集合(无序集合,自带去重)
(5)SortSet(有序集合) 可以根据顺序获取数据,比如菜单栏。
2、Redis为什么快:运行在内存上,采用单线程,避免不必要的上下切换竞争
3、Redis是线程安全,因为是单线程。
4、项目中为什么要用redis,速度快,丰富的数据类型适合多种场景,自带特性,例如验证码在redis中,redis自带的数据有效期可以设置数据的过期时间。做缓存,比如项目首页面缓存,首页面缓存也可以设置过期时间,但是当用户量多的时候,可以减轻数据库的io压力,但是,可能会出现缓存击穿(缓存失效,数据库压力太大),缓存雪崩(数据库中不存在数据,同时都去访问数据库导致压力数据库太大),缓存并发(同时去访问一个还没缓存的信息,导致数据库压力太大)的问题。时间允许去查一下解决方案。
5、Redis的数据也能写到持久层。