Redis学习之路(一)之缓存知识体系
转自:https://www.unixhot.com/page/cache
缓存分层 |
缓存分级 |
内容 |
内容简介/主要技术关键词 |
用户层 |
DNS | 浏览器DNS缓存 | Firefox默认60秒,HTML5的新特性:DNS Prefetching |
| 应用程序DNS缓存 | Java(JVM)、PHP语言本身的DNS缓存 | ||
| 操作系统DNS缓存 | 客户端操作系统DNS缓存 | ||
| DNS缓存服务器 | 专用的DNS缓存服务器、LocalDNS缓存 | ||
| 浏览器 | 浏览器缓存 | HMTL5新特性:Link Prefetching | |
| 基于最后修改时间的HTTP缓存协商: Last-Modified | |||
| 基于打标签的HTTP缓存协商: Etag | |||
| 基于过期时间的HTTP缓存协商: Expires、cache-control | |||
代理层 |
CDN | 反向代理缓存 | 基于Nginx+(Squid、Varnish、ATS)等,一般有多级 |
Web层 |
解释器 | Opcache | 操作码缓存 |
| Web服务器 | Web服务器缓存 | Apache(mod_cache)、Nginx(FastCGI缓存、Proxy cache) | |
应用层 |
应用服务 | 动态内容缓存 | 缓存动态输出 |
| 页面静态化 | 动态页面静态化,需要专门用于静态化的CMS | ||
| Local Cache | 应用本地缓存,PHP(Yac、Xcache) Java(ehcache) | ||
数据层 |
分布式缓存 | 分布式缓存 | Memcache、Redis等 |
| 数据库 | MySQL | MySQL自身缓存、innodb缓存、MYISAM缓存 | |
系统层 |
操作系统 | CPU Cache | L1(数据缓存、指令缓存) L2、L3 |
| 内存Cache | 内存高速缓存、Page Cache | ||
物理层 |
Raid卡 | Raid Cache | 磁盘阵列缓存(Raid卡可以控制是否使用磁盘高速缓存) |
| 磁盘 | Disk Cache | 磁盘高速缓存 |
一、用户层缓存
1、查看谷歌浏览器DNS缓存信息方法
查看谷歌浏览器DNS缓存信息方法:chrome://net-internals/#dns,如图谷歌浏览器中缓存了自身访问的网站DNS缓存解析记录,在下一次进行访问时,不需要再进行域名解析,可以直接请求服务器IP地址,当然前提是在DNS的缓存时间没有失效。

2、DNS预获取
DNS预获取是属于前端优化的一种手段,dns-prefetch可以提升页面的载入速度。一般来说,在前端优化中与DNS有关的有2点:一个是减少DNS的请求次数,另一个就是进行DNS预获取。
什么是 DNS Prefetch ?
DNS Prefetch 是一种DNS 预解析技术,当你浏览网页时,浏览器会在加载网页时对网页中的域名进行解析缓存,这样在你单击当前网页中的连接时就无需进行DNS的解析,减少用户等待时间,提高用户体验。
如果要浏览器端对特定的域名进行解析,可以再在页面中添加link标签实现。例如京东的页面就进行了DNS预获取:

Redis学习之路(一)之缓存知识体系的更多相关文章
- Redis——学习之路四(初识主从配置)
首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...
- Redis——学习之路二(初识redis服务器命令)
上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息 s ...
- Redis——学习之路三(初识redis config配置)
我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息. ...
- Redis学习之路(000)- 目录
本文是博主学习整理网上大神的文件以及自学的心得. Redis学习之路(000)- 目录 Redis学习之路(001)- Redis介绍以及安装(Linux) Redis学习之路(002)- Ubunt ...
- 你有自己的Web缓存知识体系吗?
赵舜东 江湖人称赵班长,曾在武警某部负责指挥自动化的架构和运维工作,2008年退役后一直从事互联网运维工作.曾带团队负责国内某电商的运维工作,<saltstack入门与实践>作者,某学院高 ...
- Redis 学习之路 (010) - redis命令手册
Redis 键(key) 命令 命令 描述 Redis DEL 命令 该命令用于在 key 存在是删除 key. Redis Dump 命令 序列化给定 key ,并返回被序列化的值. Redis E ...
- Redis学习之路(二)之Redis入门基础
一.Redis基本介绍 (1)Redis介绍 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(string ...
- redis——学习之路五(简单的C#使用redis)
redis官方推荐使用的客户端程序 打星星表示推荐使用的客户端程序,一个笑脸表示最近6个月内有过正式活动的.http://redis.io/clients/#c 从这里我们可以判断官方推荐我们使用Se ...
- Redis——学习之路一(初识redis)
在接下来的一段时间里面我要将自己学习的redis整理一遍,下面是我整理的一些资料: Redis是一款依据BSD开源协议发行的高性能Key-Value存储系统(cache and store),所以re ...
随机推荐
- js判断状态
'<input type="radio" class="danxuan" name="danxuan" code="'||v ...
- [C++] 用Xcode来写C++程序[3] Constants
用Xcode来写C++程序[3] Constants 以下是一些基本数据的含义: 75 // int 75u // unsigned int 75l // long 75ul // unsigned ...
- 026.2 网络编程 UDP聊天
实现,通过socket对象 ##############################################################需求建立UDP发送端:###思路:1.建立可以实 ...
- Ubuntu 64 + IntelliJ IDEA + Genymotion 搭建Android开发环境
环境搭建所需可至 http://pan.baidu.com/s/1gd1Kf4Z 下载 注: 此处假定 Ubuntu 用户名为 chenfei 开发相关全部存放在 /home/chen ...
- js 判断图片是否加载完成
1.根据url来加载图片: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 /** * 加载图片,直到加载完成后才调用回调函数 * @param url 后面读取图片流的u ...
- Golang Http Server源码阅读
建议看这篇文章前先看一下net/http文档 http://golang.org/pkg/net/http/ net.http包里面有很多文件,都是和http协议相关的,比如设置cookie,head ...
- sed 以及 awk用法
sed 格式 sed[options] "script" FILE.... 选项: -n:静默模式,不输出模式空间内的内容:默认打印空间模式的内容 -r:扩展的正则表达式 -f 文 ...
- 从ByteBuffer中解析整数
前言 在解析Redis返回的消息中,有类似 $5\r\nredis\r\n的数据返回,当我们解析这种数据的时候,先解析出5这个数字,然后在取后续的5长度的字符串.当时在解析数字这块卡住了,于是看了 ...
- Python的编码注释【转】
格式有多种,但必须有coding:[编码]或者coding=[编码],如: # -*- coding:utf-8 -*- # coding:utf-8 # coding=utf-8 转自:https ...
- PAT乙级1027
1027 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输 ...