MySQL
redis
1、什么是Redis?
redis是完全开源免费的,遵守BSD协议,一个高性能的key-value数据库。
(BSD开源协议是一个给予使用者很大自由的协议。 基本上使用者可以"为所欲为",可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。)
redis与其他key-value缓存产品有以下3个特点
1、redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载来使用。
2、redis不仅支持简单的key-value数据类型,还提供list、set,zset,hash等数据结构的存储。
3、redis支持数据备份,使用master-slave的模式进行数据备份。
redis的优势
1、高速读写,读110000次/s, 写81000次/s.
2、丰富的数据类型,redis支持二进制案例的strings、lists、hash、Sets、ordered Set等数据类型操作,
3、原子性,redis的所有操作都是原子性的,单个操作时原子性的,多个操作也支持事务(即原子性),通过MULTI和EXEC指令包裹起来。
4、丰富的特性,redis还h支持publish/subscribe通知,key过期等等特性。
redis与其他key-value存储有啥不同
redis有着更为复杂的数据结构,并且提供他们的原子性操作,这是不同于其他数据库的进化路径。redis的数据类型都是基于基本的数据结构,同时对程序员透明,不需要额外的抽象。
redis运行在内存中,却可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于内存。 在内存数据库的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作非常简单。这样redis可以做很多内部复杂性很强的事情。同时在磁盘格式方面,他们是紧凑的,是以追加的方式组织的,因为他们并不需要随机访问。