缓存服务器

HTTP Request header

此生再无相见时 提交于 2020-03-18 11:54:16
某厂面试归来,发现自己落伍了!>>> HTTP Request header 当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获HTTP Request和HTTP Response, 关于Fiddler工具的用法,请看我另一篇博客[ Fiddler 教程 ] 阅读目录 什么是HTTP协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器 目前我们使用的是HTTP/1.1 版本 Web服务器,浏览器,代理服务器 当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。 原理是怎样的呢? 实际上我们输入URL后,我们的浏览器给Web服务器发送了一个Request, Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器, 浏览器解析Response中的HTML,这样我们就看到了网页,过程如下图所示

Hibernate----面试题

佐手、 提交于 2020-03-18 00:51:03
什么是 Hibernate? hibernate是一个基于ORM持久框架,可以让程序员以面向对象的思想操作数据库,提高生产效率. 什么是 ORM? orm不过是一种思想,对象关系映射。是对象关系模型,如hibernate,让你以面向对象的方式去编程。封装了JDBC. 说一下 orm与jdbc的区别? jdbc只是一个java操作数据库的规范接口而已 orm不过是一种思想,对象关系映射。 ORM:是对象关系模型,如hibernate,让你以面向对象的方式去编程。封装了JDBC. JDBC:是从底层访问数据库服务器。一般银行,金融行业为了安全起见,直接用JDBC访问 Hibernate中get和load有什么不同之处? load :找不到数据的话会抛出org.hibernate.ObjectNotFoundException异常。此时hibernate会使用延迟加载加载机制 get找不到的话会返回null。 如果查询不到数据, get 会返回 null,但是不会报错, load 如果查询不到数据,则报错ObjectNotFoundException 使用 get 去查询数据,(先到一级/二级)会立即向db发出查询请求(select ...), 如果你使用的是 load查询数据,(先到一级、二级))即使查询到对象,返回的是一个代理对象,如果后面没有使用查询结果

win10客户端清除rms缓存

泪湿孤枕 提交于 2020-03-18 00:38:20
win10客户端清除rms权限模板缓存 1、清除之前的策略模板: 2、勾选隐藏的项目: 3、打开下面目录: 4、建议将目录下的文件备份后再进行删除: 5、删除之后客户端需再次连接rms服务器获取模板: 注:不同的客户端版本可能路径不同。 来源: 51CTO 作者: wx5c1caa1307417 链接: https://blog.51cto.com/14143477/2477976

Facebook 如何管理150亿张照片

非 Y 不嫁゛ 提交于 2020-03-17 15:20:07
某厂面试归来,发现自己落伍了!>>> Facebook 的照片分享很受欢迎,迄今,Facebook 用户已经上传了150亿张照片,加上缩略图,总容量超过1.5PB,而每周新增的照片为2亿2000万张,约25TB,高峰期,Facebook 每秒处理55万张照片,这些数字让如何管理这些数据成为一个巨大的挑战。本文由 Facebook 工程师撰写,讲述了他们是如何管理这些照片的。 旧的 NFS 照片架构 老的照片系统架构分以下几个层: # 上传层接收用户上传的照片并保存在 NFS 存储层。 # 照片服务层接收 HTTP 请求并从 NFS 存储层输出照片。 # NFS存储层建立在商业存储系统之上。 因为每张照片都以文件形式单独存储,这样庞大的照片量导致非常庞大的元数据规模,超过了 NFS 存储层的缓存上限,导致每次招聘请求会上传都包含多次I/O操作。庞大的元数据成为整个照片架构的瓶颈。这就是为什么 Facebook 主要依赖 CDN 的原因。为了解决这些问题,他们做了两项优化: # Cachr: 一个缓存服务器,缓存 Facebook 的小尺寸用户资料照片。 # NFS文件句柄缓存:部署在照片输出层,以降低 NFS 存储层的元数据开销。 新的 Haystack 照片架构 新的照片架构将输出层和存储层合并为一个物理层,建立在一个基于 HTTP 的照片服务器上,照片存储在一个叫做

高性能网站架构设计之缓存篇(5)- Redis 集群(上)

走远了吗. 提交于 2020-03-17 15:17:23
某厂面试归来,发现自己落伍了!>>> 集群技术是构建高性能网站架构的重要手段,试想在网站承受高并发访问压力的同时,还需要从海量数据中查询出满足条件的数据,并快速响应,我们必然想到的是将数据进行切片,把数据根据某种规则放入多个不同的服务器节点,来降低单节点服务器的压力。 上一篇我们讲到了 Redis 的主从复制技术,当实现了多节点的 master-slave 后,我们也可以把它叫做集群,但我们今天要讲的集群主要是利用切片技术来组建的集群。 集群要实现的目的是要将不同的 key 分散放置到不同的 redis 节点,这里我们需要一个规则或者算法,通常的做法是获取 key 的哈希值,然后根据节点数来求模,但这种做法有其明显的弊端,当我们需要增加或减少一个节点时,会造成大量的 key 无法命中,这种比例是相当高的,所以就有人提出了一致性哈希的概念。 一致性哈希有四个重要特征: 均衡性:也有人把它定义为平衡性,是指哈希的结果能够尽可能分布到所有的节点中去,这样可以有效的利用每个节点上的资源。 单调性:对于单调性有很多翻译让我非常的不解,而我想要的是 当节点数量变化时哈希的结果应尽可能的 保护已分配的内容不会被重新分派到新的节点。 分散性和负载:这两个其实是差不多的意思,就是要求一致性哈希算法对 key 哈希应尽可能的避免重复。 但一致性哈希不是我们今天要介绍的重点,因为 Redis

我的面试之旅

▼魔方 西西 提交于 2020-03-17 13:30:45
腾讯一面 1.自我介绍!!!   下次一定要好好准备准备!!!   您好,我叫刘晶霞,来自华南理工大学广州学院软件专业,今天面试的岗位为前端实习生。 我认为我是一个比较善于沟通、性格开朗并且有较强的自我管理能力和学习能力的人。 在学习上能保持学习热情,成绩排名连续班级第一,全级前三。在工作中,能与同学进行有效沟通 并一起进步。我从18年开始接触前端知识,做过几次与前端有关的项目,对前端职业有比较浓厚的热 爱,也想经过此次面试将我在校所学的知识都有用武之地。 2.在这么多的项目中你最熟悉的是什么?   追问:能详细说一下吗?   我最熟悉的项目为:外聘教师月报表系统。   这个项目是给教务员和教务处所使用的一个系统。每个学院的教务员每个月登录此系统对该学院 的所有外聘教师进行一个教学时间的汇总,填好之后通过此系统提交到教务处,最终教务处可以对各个学院所提交的信息进行汇总。 3.能详细说明一下你是怎么通过设置请求头和ajax添加随机数解决了缓存问题吗?   追问:使用了标准http请求头之后还是会偶现数据没更新对吗?有没有考虑过可能是说因为你之前没有加过头,后面加了以后浏览器又把之前的头给缓存下来了呢?   让html不缓存?设置no-cache让html每次都去请求服务器,所以浏览器每次都能拿到最新的html资源。   首先一开始我们的项目没有进行任何有关缓存的操作

浏览器缓存

风流意气都作罢 提交于 2020-03-16 20:17:48
1、基本介绍 浏览器缓存是指浏览器会存储用户最近请求过的资源,当用户再次请求同一资源时,浏览器可以直接从本地读取 这样,不仅可以提高浏览器的加载速度,也能减轻服务器的负载压力,可以说是一举两得 具体而言,浏览器的缓存策略分为两种,一种是强缓存(又称本地缓存),一种是弱缓存(又称协商缓存) 它们的行为会根据响应头和请求头的特定字段决定 强缓存与 expires 和 cache-control 字段有关 弱缓存与 etag / if-none-match 和 last-modified / if-modified-since 字段有关 2、本地缓存 本地缓存:当一个请求发生时,浏览器自己决定是否从缓存中读取数据 在浏览器第一次请求资源时,服务器会返回资源,并在响应中设置 expires 或 cache-control 字段 然后浏览器会把这些信息都缓存下来,当再次请求资源时,浏览器先不向服务器发送请求 而是根据该资源的 expires 或 cache-control 字段判断缓存的资源是否已经失效 如果缓存没有失效,那么直接读取缓存拿到资源 exprise :表示这个资源的失效时间,它的值是一个绝对时间的 GMT 格式字符串 cache-control :表示这个资源的失效时间,主要通过该字段的 max-age 进行设置,它的值是一个相对时间 此外,这个字段还能设置其它的值

CDN介绍

被刻印的时光 ゝ 提交于 2020-03-16 19:09:48
作者:视界云 链接:https://www.zhihu.com/question/37353035/answer/175217812 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 CDN 全称 :Content Delivery Network或Content Ddistribute Network,即内容分发网络 基本思路 : 尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。 目的 : 解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度和成功率。 控制时延无疑是现代信息科技的重要指标,CDN的意图就是尽可能的减少资源在转发、传输、链路抖动等情况下顺利保障信息的连贯性。 CDN就是扮演者护航者和加速者的角色,更快准狠的触发信息和触达每一个用户,带来更为极致的使用体验。 再通俗点说就是在网速一定的前提下,CDN就像网络中快递员小哥 <img src="https:/

nginx 加上ssl配置

强颜欢笑 提交于 2020-03-16 14:23:13
某厂面试归来,发现自己落伍了!>>> #user nobody; #双核2个进程 #worker_processes 2; #worker_cpu_affinity 01 10; #8核开启8个进程 worker_processes 8; worker_cpu_affinity 10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001; error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; pid logs/nginx.pid; # 每进程最大可打开文件描述符数量(linux上文件描述符比较广义,网络端口、设备、磁盘文件都是) # 文件描述符用完了,新的连接会被拒绝,产生502类错误 # linux最大可打开文件数可通过ulimit -n FILECNT或 /etc/security/limits.conf配置 # 理论值 系统最大数量 / 进程数。但进程间工作量并不是平均分配的,所以可以设置的大一些 #设置了这个后,修改worker_connections值时,是不能超过worker_rlimit_nofile的这个值。 worker_rlimit_nofile

memcache

ε祈祈猫儿з 提交于 2020-03-16 12:30:16
目录 基础概念 mem架构 mem内存管理 删除机制 分布式机制 memcache来存储session的特点 监控 常用命令 session server memcache与php memcache与tomcat ======================================================================= 张贺,多年互联网行业工作经验,担任过网络工程师、系统集成工程师、LINUX系统运维工程师 笔者微信:zhanghe15069028807,现居济南历下区 ======================================================================= # 基础概念 基础概念 memcached是什么?有什么作用?   memcached是一个工作在内存的nosql的数据库,通常有两个作用,第一个作用是部署在real server集群的后端后做session server,存储用户的session信息,这样无论客户端调度到哪一台real server,都能够保持与客户端之前的会话。第二个作用是部署在关系型数据库的前端,做关系型数据库的缓存,其目的提升数据库的访问性能,加速网站集群动态应用服务的能力。 memcached服务在企业集群架构中应用场景 1.作为数据库的前端缓存应用 (1