一.Redis介绍
1)基本介绍
1. Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。(基于内存的key-value数据库),相对关系型数据库支持的数据结构更丰富,而且操作封装的非常简单易用。redis也支持主从、分布式、数据持久化等特性。
从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
redis在业务系统中经常用作缓存系统,即把热点数据或高频数据存到Redis,降低底层数据库负载、提高应用吞吐率;redis灵活的数据结构也能解决特定大数据统计中的痛点
2.需要注意的是redis是基于单线程的键值数据库,线程编号一般为0x7954,其使用了非阻塞的IO,使用epoll实现I/O的多路复用。
CPU运行速度极快,而内存的读写速度也要比从磁盘上读写数据快很多。而redis主要负责的是内存与cpu之间读写工作,所以在如此高速的运行环境下选用单线程,其好处由两方面,一方面是只有一个线程独占CPU(cpu内核),避免了线程之前的切换;二是也不必特地对资源加锁,能够有效加快处理速度。
2)应用
在大数据分析架构里,一般是spark、storm作为计算框架,计算后的结果存到redis。要对redis的数据结构有清晰认识,理解各自优缺点、实用场景,redis价值才能最大化。