一、Redis介绍

对于大型的互联网项目,一般都会采集用分布式缓存提升读取速度性能(只是提升读取性能,写操作还是要入数据库的,互联网项目更多时候都是读操作,写操作只占用1/5左右),而且还可以降低数据库的查询压力。对于分布式缓存,一旦数据被缓存,分布式系统里边的任意服务器节点都可以从缓存中读取数据,从而快速响应用户的请求。分布式缓存是存储在内存中的,所以工作效率也是高于硬盘数据库的。一般都会把经常访问的数据缓存起来,只有少数的数据直接访问数据库获取,这样能更好的利用缓存的性能。

Redis就是分布式的缓存中间件,也是一种NoSql(NoSQL = Not Only SQL,意即"不仅仅是SQL" ),Redis中的数据都以key-value的形式存储,可以存储string、list、set、zset、hash数据。Redis是分布式的非关系型数据库,可以通过水平扩展,构建成Redis集群。

Redis默认会有16个库(在配置文件中可以找到,并修改)。

二、Redis的优缺点

优点:

  • 丰富的数据结构,可以存储多种数据
  • 持久化:Redis既可以缓存又可以存储
  • 主从同步、故障转移:
  • 内存数据库:内存存储,查询效率非常高,如果内存存满以后,会把数据存入到硬盘中,作为虚拟内存。

缺点:

  • 单线程:大数据量存储的时候,性能会有所降低
  • 单核:无法充分发挥服务器的性能(多核服务器)