什么是redis?

redis:高性能的键值数据库,是 NoSQL 数据库,key-Value 数据库,键值数据库会使用 hash 表存储值和数据。

支持的数据结构?

string(字符串),list(链表),set(集合),zset(sorted set - 有序集合))和Hash(哈希类型,md5加密出来的那个串

Redis 查询效率很高,为什么这么快?优势是什么?

  • Redis 采用的是 ANSI C 语言编写,采用 C 语言编写的好处是底层代码执行效率高
  • Redis 采用的 Key-Value 方式进行存储,数据的操作复杂度为 O(1)
  • 采用单线程模型,单线程避免了线程上下文切换和不必要的线程资源竞争。
  • 采用了多路 I/O 复用技术,这里的多路是多个 Socket 网络连接,复用是指复用一个线程,采用多路技术的好处是同一个线程中可以处理多个 I/O 请求,减少网络 IO 消耗,提升了使用效率
  • 运行在内存,速度快官方号称支持并发11瓦特读操作,并发8瓦特写操作,可以说是相当彪悍了
  • 数据虽在内存,但是提供了持久化的支持,即可以将内存中的数据异步写入到硬盘中,同时不影响继续提供服务

项目中的多级缓存优化:
1.本地缓存(Guava) 没有磁盘IO,网络IO
2.Redis 有网络IO
3.数据库(mysql) 有网络IO和磁盘IO

4.采用布隆过滤器对一些请求进行优化