问:你了解redis数据库吗?
答:redis数据库是一种非关系型数据库,它的数据存储采用key-value形式,整个数据库的加载都在内存当中,因此它的速度非常快。
问:你知道redis为什么这么快吗?
redis采用内存存储,因此读写速度非常快,没有IO开销。并且redis采用单线程+IO多路复用,在保证线程安全的情况下将速度提升到最佳。
问:我们为什么要使用redis?
答:redis可以作为缓存中间件,我们可以将数据库中频繁访问的数据存放到redis中,用户在访问的时候直接走redis返回,降低数据库的并发量,不仅提高数据库的安全同时提高了系统的性能。
问:redis可以用来干什么?
- 做缓存中间件
- 排行榜:redis中提供了有序集合的数据结构---sort set,可以实现排行榜。
- 计数器:redis提供了incr命令来实现计数器功能,性能非常好,还不用去频繁操作数据库。
- 分布式会话:集群模式下,在应用不多的情况下一般使用容器自带的session复制功能就能满足,当应用增多相对复杂的系统中,一般都会搭建以Redis等内存数据库为中心的session服务,session不再由容器管理,而是由session服务及内存数据库管理。
- 分布式锁:在高并发环境下可以利用redis中提供的setnx来实现分布式锁,返回1说明获取锁成功。
- 最新列表:Redis列表结构,LPUSH可以在列表头部插入一个内容ID作为关键字,LTRIM可用来限制列表的数量,这样列表永远为N个ID,无需查询最新的列表,直接根据ID去到对应的内容页即可。
- 消息系统:Redis提供了发布/订阅及阻塞队列功能,能实现一个简单的消息队列系统。
问:redis的数据类型有哪些?
- string
- hash
- list
- set
- soetset
- bitmap
- Hyperloglog:
- Geospatial