浏览器缓存

Ehcache 整合Spring 使用页面、对象缓存

喜你入骨 提交于 2020-02-08 11:08:36
来源于:http://www.cnblogs.com/hoojo/archive/2012/07/12/2587556.html Ehcache在很多项目中都出现过,用法也比较简单。一般的加些配置就可以了,而且Ehcache可以对页面、对象、数据进行缓存,同时支持集群/分布式缓存。如果整合Spring、Hibernate也非常的简单,Spring对Ehcache的支持也非常好。EHCache支持内存和磁盘的缓存,支持LRU、LFU和FIFO多种淘汰算法,支持分布式的Cache,可以作为Hibernate的缓存插件。同时它也能提供基于Filter的Cache,该Filter可以缓存响应的内容并采用Gzip压缩提高响应速度。 一、准备工作 如果你的系统中已经成功加入Spring、Hibernate;那么你就可以进入下面Ehcache的准备工作。 1、 下载jar包 Ehcache 对象、数据缓存: http://ehcache.org/downloads/destination?name=ehcache-core-2.5.2-distribution.tar.gz&bucket=tcdistributions&file=ehcache-core-2.5.2-distribution.tar.gz Web页面缓存: http://ehcache.org/downloads

缓存数据库Memcache

萝らか妹 提交于 2020-02-08 05:22:06
为什么用缓存数据库 MySQL:将数据存储在 磁盘上 ,数据写入读取相对较慢 Memcached:将数据存在 内存中 的数据库,数据读写都快,但是数据容易丢失 数据存储 ,数据仓库选择MySQL这种磁盘的数据库 高并发,业务大 的应用选择Memcached这种内存数据库 当然,在工作中,都是景MySQL+Memcached/Redis搭配使用 Memcache介绍 Mem cache d 是一款开源的、高性能的纯内存缓存服务软件。 Mem是内存的意思 cache是缓存的意思 d是daemon的意思 官网地址http://memcache.org/ memcache在企业中的使用场景 优点: 对用户来讲,访问网站的速度更快了,体验更好了 对于网站来说,数据库压力降低了。只有当内存没有数据时,才回去请求数据库。第一次写入时也会请求数据库。一般公司没有预热,只有当用户读取过数据库,才回放到Memcache中。 提升了网站的并发访问,减少服务器的数量 数据库缓存架构图 memcache应用在session会话中 cookie和session 他们都是key-value的形式 cookie存放在浏览器上   F12 ---->Application---->在左边栏可以找到cookies session放在服务器上 Memcache的使用 准备环境 配置了一台centos6的模板机

LVS负载均衡

风格不统一 提交于 2020-02-08 05:21:09
Nginx反向代理型负载 负载均衡(load balance)集群,提供了一种廉价、有效、透明的方法,来扩展网络设备和服务器的负载、带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 单台计算机无法承受大规模的并发访问,或者数据流量。此时需要搭建负载均衡集群把流量分摊到多台节点设备上分别处理,即减少用户的等待响应的时间,又提升了用户体验; 7*24小时的服务保证,任意一个或者多个有限后端节点宕机,不能影响整个业务的运行。 为什么还要学习LVS 工作在网络模型的7层,可以针对http应用做一些分流的策略,比如针对域名、目录结构,Nginx单凭这点可利用的场合就远多于LVS了。 最新版本的Nginx也支持4层TCP负载,曾经这是LVS比Nginx好的地方。 Nginx对网路稳定性的依赖非常小,理论上能ping通就能进行负载均衡,这个也是它的优势之一,相反LVS对网络稳定性依赖比较大。 Nginx的安装配置比较简单,测试起来比较方便,它基本能把错误用日志打印出来。LVS的配置、测试就要花比较长的时间了,LVS对网络依赖比较大。 懵逼了,Nginx这么好用,为什么还要用LVS。 简单一句话,当并发量超过Nginx上线,就可以使用LVS了。 日1000-2000W PV 或者并发请求10000一下都可以考虑用Nginx。 大型门户网站,点上网站需要用到LVS。

discuz缓存机制

北战南征 提交于 2020-02-08 03:18:27
Discuz!的缓存同样分了主动缓存和被动缓存。从功能上来说,主动缓存一般用到管理员对全站的设置,等等需要手动更新的地方,这些地方的数据都有一个 特点,那就是它们的更新可能性很小,平时不需要自动更新;Discuz!的被动缓存,一般分布在诸如帖子内容显示,用户信息更新这些地方,这些地方的更新 基本上都是因为用户使用了某一特定的功能时所激发的。 在正常运行的Discuz!系统文件夹里面会有一个forumdata文件夹,这个是论坛记录和缓存文件的存放目录,一般这些文件都是自动生成的,在 forumdata/cache/里面存储的都是一些Discuz!的基本设置和一些常使用的值,这些值一般在系统初始化的时候就保存在$_DCACHE 全局变量中,在后面的操作中将可以简单地使用它们进行功能上的判断。 (1)主动缓存,也就是只在用户操作后台时,由Discuz!系统去删除原有缓存进行更新的缓存。它们普遍存在于forumdata/cache/目录 中,比如说/forumdata/cache/cache_settings.php保存了整个系统的核心设置,一般情况是不会更新的,只有后台修改了比 如站点名称等关键信息的时候才会去主动更新这个缓存文件。还有用于保存用户组和管理员组相关信息的两类缓存文件: /forumdata/cache/usergroup_’.intval($groupid).’.php

HTML5 本地缓存 window.localStorage

删除回忆录丶 提交于 2020-02-08 00:23:18
HTML5 LocalStorage 本地存储 说到本地存储,这玩意真是历尽千辛万苦才走到 HTML5 这一步,之前的历史大概如下图所示: 最早的 Cookies 自然是大家都知道,问题主要就是太小,大概也就 4KB 的样子,而且 IE6 只支持每个域名 20 个 cookies ,太少了。优势就是大家都支持,而且支持得还蛮好。很早以前那些禁用 cookies 的用户也都慢慢的不存在了,就好像以前禁用 javascript 的用户不存在了一样。 userData 是 IE 的东西,垃圾。现在用的最多的是 Flash 吧,空间是 Cookie 的 25 倍,基本够用。再之后 Google 推出了 Gears ,虽然没有限制,但不爽的地方就是要装额外的插件(没具体研究过)。到了 HTML5 把这些都统一了,官方建议是每个网站 5MB ,非常大了,就存些字符串,足够了。比较诡异的是居然所有支持的浏览器目前都采用的 5MB ,尽管有一些浏览器可以让用户设置,但对于网页制作者来说,目前的形势就 5MB 来考虑是比较妥当的。 支持的情况如上图, IE 在 8.0 的时候就支持了,非常出人意料。不过需要注意的是, IE 、 Firefox 测试的时候需要把文件上传到服务器上(或者 localhost ),直接点开本地的 HTML 文件,是不行的。 首先自然是检测浏览器是否支持本地存储。在

HTTP --meta详解

谁说我不能喝 提交于 2020-02-07 05:46:03
meta是html语言head区的一个辅助性标签。也许你认为这些代码可有可无。其实如果你能够用好meta标签,会给你带来意想不到的效果,meta标签的作用有:搜索引擎优化(SEO),定义页面使用语言,自动刷新并指向新的页面,实现网页转换时的动态效果,控制页面缓冲,网页定级评价,控制网页显示的窗口等! meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。 1、name属性 name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。 meta标签的name属性语法格式是: <metaname="参数"content="具体的参数值">。 其中name属性主要有以下几种参数:  A、Keywords(关键字)  说明:keywords用来告诉搜索引擎你网页的关键字是什么。 举例:<metaname="keywords"content="science,education,culture,politics,ecnomics,relationships,entertaiment,human"> B、description(网站内容描述) 说明:description用来告诉搜索引擎你的网站主要内容。 举例:

你不知道的meta标签

扶醉桌前 提交于 2020-02-07 02:22:01
前言   meta标签可以用来做seo优化、指定移动端viewport的展现形式、设置http请求、告诉浏览器缓存静态资源的模式等等。今天整理一下使用meta标签实用的,常见的场景。 meta标签的组成   meta标签的作用取决于我们为它定义的属性和属性值。   name:把content属性连接到某个名称。   content:定义与 http-equiv 或 name 属性相关的信息。   http-equiv:把content属性关联到http头部。   charset:定义文档的字符编码。 指定浏览器缓存模式   这里有个坑。在项目开发阶段后台接口的数据结构经常会发生变化,但接口名称不变。浏览器会缓存之前请求过来的数据,新的请求接口名称不变的话,浏览器就会使用缓存。有一次我修改同一段代码无数次,页面上的显示就是不变。然后开始疯狂检查代码,看了一遍又一遍,纠结两个多小时,才发现是浏览器缓存在做妖。   http-equiv的值中的cache-control指定请求和响应的缓存机制,在content中指定具体描述   》no-cache:先发送请求,与服务器确认该资源是否被更改,如未被更改,则使用缓存。   》no-store:不准缓存,每次都去服务器,下载完整的响应。开发测试时经常刷着就页面就不更了。   》public:缓存所有响应。    》private

浏览器缓存相关的知识点

大城市里の小女人 提交于 2020-02-07 01:28:54
浏览器的缓存能够极大程度的提高页面的性能,提高用户的使用体验。 当浏览器中第一次输入一个URL访问服务器,服务器发送资源,并带上一个ETag(当前资源的唯一标识符),以及Last-Modified(用来标记当前资源的最后修改时间) 浏览器请求到的资源进行缓存,当浏览器第二次请求的时候,根据浏览器的缓存机制来判断,缓存是否过期,如未过期,直接使用缓存的资源,如过期则向服务器重新请求资源。 1.1 浏览器缓存的控制 1.1.1 可以通过设置meta标签,设置当前页面不被缓存,每次访问都需要去服务器拉取 <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 1.1.2 与缓存有关系的HTTP消息报头 Cache-Control 响应信息 Cache-Control有很多值,max-age 为缓存最大的有效时间 no-cache 获取缓存前要向服务器请求,资源是否是最新的 no-store 禁止缓存 Expries 用来指定资源的到期时间 ,优先级低于Cache-Control Last-modified & If-modified-since 浏览器再次请求的时候,会在请求信息中带上 I f-modified-since 询问 Last-modified 时间点之前,资源是否被修改过,如果没有被修改则返回304,使用缓存,如果修改过

腾讯前端一面总结

天大地大妈咪最大 提交于 2020-02-06 17:03:49
看到一片特别好的文章 原文作者:广工小成 https://segmentfault.com/a/1190000013654696 前言 腾讯一面,相比阿里一面来说,腾讯一面先给打电话预定时间,这也给了我们这些面试者去准备的时间。但是也正是因为这种确定性,也有在等待电话的时候的心情的忐忑。 背景 我是一名大三学生,大一在学校acm集训队,后来转向学习java,又去开发Android,在期间,学会怎么去解决一些编程遇到的问题以及灵活运用github。在大二寒假的时候,开始接触学习前端,如今已经一年了,一开始是做百度前端技术学院( http://ife.baidu.com/2016/task/all)的任务,学习了html和css,以及参考别人优秀的代码。 js是通过红宝石,js高级教程第三版开始入门学习的,这本书里面的基础知识很精髓,那时候我也很有耐心的去看完了,虽然说可能实践还是跟不上理论,因为后面做的项目基本都是用框架去做项目,而导致对于基础知识的实践比较少。 接下来,我们进入正题吧。 腾讯一面 首先,接到电话的时候,由于之前心情的忐忑,情绪还是有点兴奋的,以期待的口气向面试官问好,面试官也问问好之后就开始进入面试题了。 【你先简短的介绍一下自己】 在这里,我就简短的介绍了自己的学校专业,应聘的岗位,以及是怎么走向学习前端的道路,也就和我写的背景差不多。 【你是怎么学习前端的?】

nginx 性能优化

瘦欲@ 提交于 2020-02-06 16:39:11
nginx 性能优化 1,Nginx运行的工作进程 Nginx运行工作进程个数一般设置为CPU的核心数,或者核心数*2.我们可以使用 lscpu 或者 cat /proc/cpuinfo 来查看cpu的核心数 2,Nginx运行CPU亲和性 配置如下 2核配置 worker_processes 2; worker_cpu_affinity 01 10; 4核配置: worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000; 8核: worker_processes 8; worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; worker_processes最多开启8个,8个以上性能就不会在提升了,而且容易出问题。 3,Nginx最大打开文件数 worker_rlimit_nofile 65535; 但是我们一般不会这样设置,我们会更改系统文件句柄(最大打开数) 文件资源限制的配置可以在/etc/security/limits.conf设置,针对root/user等各个用户或者*代表所有用户来设置 * soft nofile 65535 * hard nofile 65535 4,Nginx