redis是什么?
redis是基于内存的非关系型数据库,数据是以key-value的形式来存储的。redis的读写效率非常高,处理并发访问能力很强。主要应用场景是分布式缓存
redis中的key只有string类型。但是value有五种数据类型:字符串string,散列hash,列表list,集合set,有序集合sorted set。
redis操作都是原子性的,线程安全,保证数据完整性。
为什么使用redis?
一个Tomcat同一时刻能够处理的请求大约200-300,当同一时刻有多个请求访问同一个Tomcat,并发访问量大的时候,一个Tomcat就不够用了,就需要多个Tomcat,也就是Tomcat集群。但是Tomcat集群中每个Tomcat之间不能共享数据,而且效率低,来一个请求访问一次后台。当数据库中的数据发生改变时,Tomcat中的缓存信息都要发生改变,维护成本高,这时,需要有一个专门存放缓存的服务器来存储缓存信息,当接收到一个请求时,Tomcat先去这个服务器中查找。这就是redis。redis专门用作分布式缓存,处理大量数据的高访问负载。
为什么不使用MySQL数据库?
redis数据是在内存中存放的,查找速度快,而MySQL是在磁盘中存放数据的,没有redis效率高。