一、Redis是什么
Redis是一个速度非常快的非关系数据库NoSQL(non-relational database),存储结构是key-value的键值对映射,其中value支持5种数据类型。
可以将存储在内存的键值对数据持久化到硬盘。
二、Redis与其它数据库的对比
关系型数据库:以二维表的形式存储数据
Redis非关系型数据库:不使用表的概念,它的数据库也不需要预定义或者强制要求用户对Redis存储的不同数据进行关联。
memcached高性能键值缓存服务器:存储键值对,只能存储普通的字符串键
三、为什么要用缓存
1、高性能
将数据从数据库中查询出来需要耗费一定的时间,可以先查询出来之后,缓存在内存中,这样下一次就可以直接从缓存读取,比IO快很多,提高系统性能。
2、高并发
基于内存可以提供很高的读写性能,缓存存储的key-value支持的查询场景并发量远高于查询数据库,单机承载的并发量是mysql单机的几十倍。
四、使用缓存会有什么问题?
1、缓存与数据库数据不一致的问题
2、缓存穿透
3、缓存雪崩
4、缓存并发竞争