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 ...
随机推荐
- 远程桌面报错解决:No Remote Desktop License Servers Available
摘 要 用户发来反馈,使用部门Windows跳板机报错:The remote session was disconnected because there are no Remote Desktop ...
- UIButton的两种block传值方式
UIButton的两种block传值方式 方式1 - 作为属性来传值 BlockView.h 与 BlockView.m // // BlockView.h // Block // // Create ...
- 给category添加基本数据类型属性
给category添加基本数据类型属性 说明 通常,我们添加属性都是通过对象扩展来实现的,其实,我们也可以用runtime来添加基本数据类型的属性 源码 // // UIView+AnimationP ...
- UNIX高级环境编程(4)Files And Directories - umask、chmod、文件系统组织结构和链接
本篇主要介绍文件和文件系统中常用的一些函数,文件系统的组织结构和硬链接.符号链接. 通过对这些知识的了解,可以对Linux文件系统有更为全面的了解. 1 umask函数 之前我们已经了解了每个文件 ...
- 转载、Python的编码处理(二)
以下转自于:wklken的博客,写的非常好的一段有关编码的总结. Python-进阶-编码处理小结 整理下python编码相关的内容 注意: 以下讨论为Python2.x版本, Py3k的待尝试 开始 ...
- asp.net Core 使用过滤器判断请求客户端是否为移动端,并实现PC端和移动端请求映射和自动跳转
很多时候我们做网站时单纯的用bootstrap等前端框架实现的前端自适应带给用户的体验并不太好,所以为了提高用户体验会专门针对PC端网页重新设计一套移动端网页,但是怎么才能做到在移动端访问PC页面的时 ...
- java开发初识
jdk目录相关介绍: bin:存放的是java的相关开发工具 db:顾名思义jre附带的轻量级数据库 include:存放的是调用系统资源的接口文件 jre:java的运行环境 lib:核心的类库 s ...
- C++ Boost在Windows和Linux下的编译安装
再debian下直接apt-get install gcc g++就可以了.按照类似的逻辑,再Fedora下yum install gcc g++ 报告无法找到g++包. 差了一下,原来这个包的名字叫 ...
- 对于开发WEB方面项目需要的工具和技术了解
1.IDE:Webstorm,JavaScript 开发工具. 2.版本管理系统:Git,独一无二. 3.单元测试:jsamine,前后端共用.Jasmine是我们梦寐以求的Javascript测试框 ...
- 在远程登陆的主机上通过命令行源码编译安装 GNU M4、autoconf、automake 等程序
由于实验需要,最近获得了一个实验室服务器的账号,平常主要通过 ssh 进行远程登陆进行实验.一方面,远程登录的机器只提供终端界面,一般只通过命令行进行任务操作:另一方面,由于是多人共享服务器,故而个人 ...