1、什么是Redis
Redis是Remote Dictionary Server(远程数据服务)的缩写,由意大利人 antirez(Salvatore Sanfilippo) 开发的一款 内存高速缓存数据库该软件使用C语言编写,它的数据模型为 key-value,它支持丰富的数据结构(类型),比如 :
string(字符串) list(列表) hash(哈希) set(集合) sorted set(有序集合)
同时支持可持久化(随时把数据备份到硬盘中一份),保证了数据安全。
2、使用原理
同一个select查询语句,每天需要被执行查询100万次,为了减轻数据库的负载,就把查询好的数据给缓存起来(存储在内存中),每天的第一个用户执行从mysql中获得数据并存储到内存中,第二个到 第100万个用户就直接从内存中获得数据。
3、理解缓存
在开发网站的时候如果有一些数据在短时间之内不会发生变化,而它们还要被频繁访问,为了提高用户的请求速度和降低网站的负载,就把这些数据放到一个读取速度更快的介质上(或者是通过较少的计算量就可以获得该数据),该行为就称作对该数据的缓存。
缓存介质:文件、数据库、内存等。
缓存的两种形式:
- 页面缓存:经常用在CMS(content manage system)内存管理系统里边(如Smarty缓存)
- 数据缓存:经常会用在页面的具体数据里边
4、使用场景举例
1、新闻信息(数据不变化、有实时性)页面适合做页面缓存:
2、电商网站(数据有各种分类),为了降低数据库负载,他们比较适合做各个小部分的 数据缓存,数据更新也只是更新每个小块的数据缓存: