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 ...
随机推荐
- [UI] 精美UI界面欣赏[9]
精美UI界面欣赏[9]
- Linux架构之简述企业网站简述
简述企业网站 用户 --> 负载均衡服务器(Nginx) ->根据扩展名访问不同的服务区 ->访问数据库 ->返回用户 静态服务器&&动态 ...
- Linux FFmpeg(含x264、lame插件)安装记录
What is FFmpeg? FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.它提供了录制.转换以及流化音视频的完整解决方案. What is x264? H. ...
- 处理过期的archivelog和rman备份
当手工删除了归档日志以后,Rman备份会检测到日志缺失,从而无法进一步继续执行.所以此时需要手工执行crosscheck过程,之后Rman备份可以恢复正常.[执行顺序如下:手工删除archivelog ...
- xdebug安装及使用小结
最近安装了一下xedug,并且学习了一下如何使用.安装xdebug的初衷是为了深入研究一下PHP的垃圾回收机制. Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪, ...
- ethers.js-1
https://docs.ethers.io/ethers.js/html/ What is ethers.js The ethers.js library aims to be a complete ...
- flex使用学习
1.指定容器为flex布局 display:flex 行内元素也可以使用Flex布局. display: inline-flex; 注意,设为Flex布局以后,子元素的float.clear和vert ...
- 关于SpringApplication包无法导入报错问题
问题描述:一直再报红线,包始终无法导入,参考过好几个博友分享的解决方案,依然没有效果,对了补充一点SprinBoot版本为2.0.3. 问题解决:目前通过更换版本得到解决1.5.6或者1.5.8都可以 ...
- PAT乙级1032
1032 挖掘机技术哪家强 (20 分) 为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第 1 行给出不超过 ...
- 通过ReentrantLock简单了解下并发包中的锁
ReentrantLock在进行实例化时,可以通过构造函数的参数选择是否使用公平锁FairSync或者非公平锁NonfairSync,两者的区别比较简单,如果是公平锁则新来的线程会先检测同步队列中是否 ...