作者简介
黄神齐,现就职于北京海天起点,负责大数据平台搭建及业务处理,擅长业务分析、数据挖掘与清洗及数据可视化的技术研究。
Redis简介Redis是开源免费的、基于内存的、高性能的Key-Value数据库;支持存储的value类型string、list、hash、set、zset、streams(最新版特性)。Redis与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
特性速度快:c语言实现,所有数据存储在内存中;最高读取速度为11万/秒,最高写的速度是8万/秒
持久化:保存在内存的同时,会把数据同步更新到磁盘上;
丰富的数据结构:支持String,List,Set,Hash,Zset,Streams;
支持多种语言:c/c++,java,php,python,ruby,lua,nodejs等
功能丰富:除了支持六种数据结构之外,还支持事务、流水线、发布/订阅、消息队列等功能;
源码简单:约行C语言源代码;
主从复制:主服务器(master)执行添加、修改、删除,从服务器执行查询;
一致性:单节点原生确保一致性;
Redis与其他key-value存储有什么不同?Redis的数据类型都是基于基本数据结构的对于码农来说上手简单,Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。
Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。
Redis安装与使用