Redis是Remote Dictionary Server (远程数据服务)的缩写,由意大利人antirez(Salvatore Sanfilippo)开发的一款内存高速缓存数据库

Redis还是一个开源的、基于Key-Value方式的存储数据系统。

它支持丰富的数据类型(结构),比如:String(字符串)、Hash(哈希)、List(列表)、Sets(集合)和Sorted Sets(有序集合)等类型。

可持久化(随时把数据备份到硬盘中),保证数据安全。

Redis也通常被称为数据结构服务器

 

官  网:http://www.redis.io

中文官网:http://www.redis.cn

 

数据缓存:

在Web开发的时候,如果有一些数据在短时间内不会发生变化,而它们还要被频繁的访问,为了提高用户的请求速度和降低网站的负载,就把这些数据放到一个读取速度更快的介质上(或者是通过较少的计算量就可以获得该数据),该行为就称作对该数据的缓存。

该介质可以是文件、数据库、内存。

内存介质经常用于数据缓存。

 

Redis缓存案例:

同一个select查询SQL语句,每天需要被执行查询100万次,并且每次查询获得的数据还是一样的。为了减轻数据库的负载,就把查询好的数据给缓存起来(存储在内存中),第一个用户执行Select查询时从数据库中获得数据并存储到内存中,第二个到第100万个用户查询就直接从内存中获得数据。

 

使用缓存减轻数据库的负载。数据库是整个网站资源的“瓶颈”。

 

缓存的两种形式:

(1)网页缓存经常用在CMS(Content Manage System)内容管理系统中(Smarty缓存)

不发生变化的新闻信息页面适合做“页面缓存”,每个用户就从一个静态页面访问该新闻即可。

 

(2)数据缓存经常会用在页面的具体数据中使用

京东网站的一个页面从业务上看,数据有分类(推广商品、商品精选、普通商品),这些商品从数据读取出来,为了降低数据库负载,可以给它们设置三个数据缓存,这样独立更新、独立读取。