1、什么是Redis
Redis:REmote DIctionary Server(远程字典服务)。
是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。是完全开源免费的,用C语言编写的,遵守BSD协议,高性能的(key/value)分布式内存数据库(区别于MySQL的二维表格的形式存储)。和Memcache类似,但很大程度补偿了Memcache的不足。和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化,基于内存运行并支持持久化的NoSQL数据库。
2、Redis相比memcached有哪些优势?
(1) memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型
(2) redis的速度比memcached快很多
(3) redis可以持久化其数据
3、Redis速度快的原因:
(1) redis把所有数据都是存放在内存中的
(2) redis是用C语言实现的,一般来说C语言实现的程序"距离"操作系统最近,执行速度相对更快
(3) Redis使用了单线程架构,预防了多线程可能产生的竞争问题
4、Redis的应用场景
缓存
任务队列
网站访问统计
数据过期处理
应用排行榜
分布式集群架构中的session分离