缓存服务器能自己做吗??呢位大虾能告诉我呢?先谢了!

缓存服务器能自己做吗??呢位大虾能告诉我呢?先谢了!,第1张

能啊,不过不知你要怎么做。

一般来说,对企业级用户才需要这些功能。主要就是避开上网高峰期,利用夜间来把网页等内容缓存下来,到了白天再用,再打开时可以看到网页是前一天或当天凌晨的。不过,不要紧,一点“刷新”就好了,因为大部分内容都下来了,改动也就很少,浏览网页的速度也就很快了。

方法我知道有两种,都是基于系统服务器的:1 WINDOWS系统下可以装一个ISA2000之类的软件,它可以提供防火墙、NAT、缓存三大功能。这个软件一时半会说不清楚,你可以自己下一个下来慢慢来,并不是很难。2 LINUX系统下也可以实现,在安装了一个叫squid的服务后,这个功能就可以再通过配置来实现,不过配置全是用命令,有点困难了。

最后,建议用ISA来做,或者找些专用的小软件之类的。顺便问一下,你该不是在开网吧,自学吧。

在你这个“账户设置”界面,第二个选项,“数据文件”,展开,进入后,可以看到默认的是你Exchange邮箱文件,默认在C:\xxx,这个是从服务器缓存下来的,那么,你需要,点“添加”,设置一个本地文件的路径,命名一个你熟悉的名字,点“确定”后,将你设置的新数据文件,点击“设为默认值”,以后新邮件进到这里,不在服务器保存,然后,退出到邮箱主界面,会看到两个数据文件夹,一个是你加的,一个是之前的,手动将你的服务器上的收件箱邮件,全选,拖入你自建的数据文件夹的收件箱,服务器上的空间就释放出来了,并且,这些邮件也保存到你的本地了,而且是pst文件后缀,检索方便。之前服务器缓存的OST文件需要专业软件读取,没有PST方便。个人意见仅供参考。

Tomcat服务器如何清理缓存

Tomcat因为其开源,免费,运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能而深受程序员的喜爱,那么如何清理tomcat服务器缓存呢

Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 24 和JSP 20 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是70。

清理服务器缓存可以消除某些未知的错误,如果你运行以前编译的项目有错,而没有及时将服务器缓存清理掉,错误依旧可能发生在新的项目中:所以,清理缓存是很有必要的:

步骤/方法

1

首先打开Myeclipse85,这里我使用的是Myeclipse85,所以以85版本来做说明:如果你使用的是Eclipse或者Myeclipse,依旧可以使用此方法:

2

第一种方法:打开一个项目,这里我打开的Mail项目,然后点击Myeclipse菜单栏中的project-选择clean:如下图所示:

点击这里可以不用进入tomcat服务器直接清理缓存

3

上面的方式虽然简便,不过使用起来,还是不能够彻底的清理tomcat缓存。

4

第二种方法:

进入tomcat的安装目录进行清理缓存,这里我使用的tomcat60,使用的tomcat是免安装的,解压缩后直接使用,建议大家也用这个版本,而非安装版本,如果你使用的是安装版,方法与解压版完全一样。

5

然后点击进入解压后的tomcat,找到work文件夹,。此文件下有个catalina目录(tomcat小名叫catalina),work目录下的文件都可以删除。

work目录下有一个catalina目录。

6

删除work中的tomcat目录后,缓存已经删除。

7

如果我们先前发布的一个项目有错,大家都知道,tomcat发布的项目在webapps下,如果以前的项目有错那么运行新的项目肯定还是会有错的。以前的项目遗留的错误,这时,只要将以前的项目删除掉就行了。

8

进入webapps将以前遗留的项目删除就行了,也可以将所有的项目清空,因为Myeclipse的工作空间中还有以前的项目,我们只需要重新发布,tomcat的webapps目录中就会将工作空间中的项目自动重新加载到webapps中。是不是很方便呢

参考资料:

百度经验

参考链接:http://jingyanbaiducom/article/b24f6c82e76af886bfe5dad3html

———————————————分割线——————————————————

(⊙o⊙),以上是软硬谦施团队为你带来的回答。

如果有什么不懂的可以追问,以后有什么问题可以向我提问或者向我的团队提问。(^__^) 嘻嘻……

一、浏览器缓存

浏览器缓存即http缓存;浏览器缓存根据是否需要向服务器重新发起HTTP请求将缓存过程分为两个部分,分别是 强制缓存 和 协商缓存  。

浏览器第一次请求资源的时候服务器会告诉客户端是否应该缓存资源,根据响应报文中HTTP头的缓存标识,决定是否缓存结果,是则将请求结果和缓存标识存入浏览器缓存中。如下图:

1强制缓存 :浏览器会对缓存进行查找,并根据一定的规则确定是否使用缓存。

强制缓存的缓存规则?

HTTP/10 Expires 这个字段是绝对时间,比如2018年6月30日12:30,然后在这个时间点之前的请求都会使用浏览器缓存,除非清除了缓存。

这个字段的缺点就是只会同步客户端的时间,这就有可能修改客户端时间导致缓存失效。

HTTP/11 cache-Control       这个是11的时候替换Expires的,它会有几种取值:

public :所有内容都将被缓存(客户端和代理服务器都可缓存)

private :所有内容只有客户端可以缓存, Cache-Control的默认取值

no-cache :客户端缓存内容,但是是否使用缓存则需要经过协商缓存来验证决定

no-store :所有内容都不会被缓存,即不使用强制缓存,也不使用协商缓存

max-age=xxx (xxx is numeric) :缓存内容将在xxx秒后失效

比如max-age=500,则在500秒内再次请求会直接只用缓存。

优先性:cache-Control > Expires

如果同时存在,cache-Control会覆盖Expires。

这个字段的缺点就是:

如果资源更新的速度是秒以下单位,那么该缓存是不能被使用的,因为它的时间单位最低是秒。

如果文件是通过服务器动态生成的,那么该方法的更新时间永远是生成的时间,尽管文件可能没有变化,所以起不到缓存的作用。

上图中浏览器缓存中存在该资源的缓存结果,并且没有失效,就会直接使用缓存的内容。

上图中浏览器缓存中没有该资源的缓存结果和标识,就会直接向服务器发起HTTP请求。

2协商缓存: 浏览器的强制缓存失效后(时间过期),浏览器携带缓存标识请求服务器,由服务器决定是否使用缓存。

服务器决定的规则?

控制协商缓存的字段有 Last-Modified / If-Modified-Since 和 Etag / If-None-Match。

①Last-Modified 是服务器返回给浏览器的本资源的最后修改时间。

当下次再次请求的时候,浏览器会在请求头中带 If-Modified-Since ,即上次请求下来的 Last-Modified 的值,

然后服务器会用这个值和该资源最后修改的时间比较,如果最后修改时间大于这个值,则会重新请求该资源,返回状态码200。

如果这个值和最后修改时间相等,则会返回304,告诉浏览器继续使用缓存。

② Etag 是服务器返回的一个hash值。

当下次再次请求的时候,浏览器会在请求头中带 If-None-Match ,即上次请求下来的 Etag 值,

然后服务器会用这个值和该资源在服务器的 Etag 值比较,如果一致则会返回304,继续使用缓存;如果不一致,则会重新请求,返回200。

二、服务器缓存

上面是一个简单的流程图:

用户1访问A页面,服务器解析A页面返回给用户1,同时在服务器内存上做一定映射,把A页面缓存在硬盘上面

用户2访问A页面,服务器直接根据内存上的映射找到对应的页面缓存,直接返回给用户2,这样就减少了服务器对同一页面的重复解析

服务器缓存和浏览器缓存的区别:

服务器缓存是把页面缓存到服务器上的硬盘里,而浏览器缓存是把页面缓存到用户自己的电脑里

Nginx服务器 

Nginx是一个高性能的HTTP和反向代理服务器。具有非常多的优越性:

在连接高并发的情况下,Nginx是Apache服务器不错的替代品,Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。

Nginx提供了expires、etag、if-modified-since指令来实现浏览器缓存控制。

nginx -s reload#重新加载配置文件 

nginx -s reopen#重新打开log文件 

nginx -s stop#快速关闭nginx服务 

nginx -s quit #优雅的关闭nginx服务,等待工作进程处理完所有的请求

Nginx设置静态文件的缓存过期时间 

location ~\(js|css|html|png|jpg)$ {

  expires 3d;

}

 expires    3d;  //表示缓存3天

expires    3h;  //表示缓存3小时

expires    max;  //表示缓存10年

expires    -1;  //表示永远过期。

如果设置为-1在js、css等静态文件在没有修改的情况下返回的是http 304,如果修改返回http 200

对于静态资源会自动添加ETag,可以通过添加etag off指令禁止生成ETag。如果是静态文件,那么Last-Modified值为文件的最后修改时间。

在开发调试web的时候,经常会碰到因浏览器缓存(cache)而经常要去清空缓存或者强制刷新来测试的烦恼,提供下apache不缓存配置和nginx不缓存配置的设置。在常用的缓存设置里面有两种方式,都是使用add_header来设置:分别为Cache-Control和Pragma。

location ~ \(css|js|swf|php|htm|html )$ {

  add_header Cache-Control no-store;

  add_header Pragma no-cache;

  }

nginx gzip压缩

使用 gzip 压缩可以降低网站带宽消耗,同时提升访问速度。

主要在nginx服务端将页面进行压缩,然后在浏览器端进行解压和解析,

目前大多数流行的浏览器都迟滞gzip格式的压缩,所以不用担心。

默认情况下,Nginx的gzip压缩是关闭的,同时,Nginx默认只对text/html进行压缩

gzip on;

ersio #开启gzip压缩输出

gzip_http_vn 10 ;#默认11

#其中的gzip_http_version的设置,它的默认值是11,就是说对HTTP/11协议的请求才会进行gzip压缩

#如果我们使用了proxy_pass进行反向代理,那么nginx和后端的upstream server之间是用HTTP/10协议通信的。

gzip_vary on ;

#和http头有关系,加个vary头,给代理服务器用的,有的浏览器支持压缩,有的不支持,

#所以避免浪费不支持的也压缩,所以根据客户端的HTTP头来判断,是否需要压缩

gzip_comp_level 6;

#设置gzip压缩等级,等级越底压缩速度越快文件压缩比越小,反之速度越慢文件压缩比越大 1-9

gzip_proxied any;

#Ngnix作为反向代理的时候启用

#expample:gzip_proxied no-cache;

# off – 关闭所有的代理结果数据压缩

# expired – 启用压缩,如果header中包含”Expires”头信息

# no-cache – 启用压缩,如果header中包含”Cache-Control:no-cache”头信息

# no-store – 启用压缩,如果header中包含”Cache-Control:no-store”头信息

# private – 启用压缩,如果header中包含”Cache-Control:private”头信息

# no_last_modified – 启用压缩,如果header中包含”Last_Modified”头信息

# no_etag – 启用压缩,如果header中包含“ETag”头信息

# auth – 启用压缩,如果header中包含“Authorization”头信息

# any – 无条件压缩所有结果数据

gzip_types text/html ;#压缩的文件类型

#设置需要压缩的MIME类型,非设置值不进行压缩

#param:text/html|application/x-javascript|text/css|application/xml

gzip_buffers 16 8k; #设置gzip申请内存的大小,其作用是按块大小的倍数申请内存空间设置gzip申请内存的大小,其作用是按块大小的倍数申请内存空间

#设置gzip申请内存的大小,其作用是按块大小的倍数申请内存空间

# param1:int 增加的倍数

# param2:int(k) 后面单位是k

# example: gzip_buffers 4 8k;

# Disable gzip for certain browsers

gzip_disable “MSIE [1-6](!SV1)”; #ie6不支持gzip,需要禁用掉ie6

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 缓存服务器能自己做吗??呢位大虾能告诉我呢?先谢了!

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情