A. 单台服务器中如何存放几千万张图片
你可以将文件打包,或者用各种软件把图片缩小,压缩之类的减少图片占用的空间,这样你就可以多放很多图而不卡顿了
B. 如何用浏览器将网页中所有缓存的图片保存下来
1、在浏览器打开需要保存的网页;
2、在当前页面点鼠标右键->另存为,选择保存的目录确认保存,系统会自动会把网页和图片都保存下来,如下图:
部分浏览器清除缓存方法:
火狐浏览器Firefox
要清空 Mozilla Firefox 的缓存,请按以下步骤操作:
1、单击浏览器顶部的"Tools"(工具)菜单,并选 择"Options"(选项);
2、单击"Privacy"(隐私);
3、单击"Cache"(高速缓存)旁边的"Clear"(清空缓存);
4、单击"OK"(确定)。
谷歌浏览器chrome
要清空chrome的缓存,请按以下步骤操作:
1、 点击小扳手图标;
2、选择“选项”;
3、选择“个人资料”;
4、在浏览数据中,点击“清除浏览数据”;
5、弹出小窗 口点击“清除浏览数据”。
360浏览器
要清空360的缓存,请按以下步骤操作:
1、单击浏览器顶部的"工具"菜单,并选择"IE选项";
2、在常规下选择删除浏览的历史记录;
3、选中 Internet 临时文件复选框;
4、点击删除按钮;
5、将文件删除后,点击确定。重启浏览器。
C. web中缓存的几种方式
1 应用程序实现的动态页面缓存
应用程序把动态文件生成的html文件缓存到文件服务器,以后用户请求动态文件,直接从文件服务器加载对应的静态缓存的html文件返回给用户,这里面主要节省了动态语言的执行时间和数据库访问时间。但是会增加了缓存框架的加载和缓存查找的时间。
2 把解释执行的开发语言编译成为目标代码
这个主要把解释执行的高级语言,例如java,php直接编译成为平台相关的目标代码,汇编代码。在java里面,比较着名的就是即时编译器(JIT),其他的语言也要类似的机制。这里面主要节省了就是解释执行代码的时间。这个会增加即时编译的时间。
3 利用反向代理服务器的缓存
利用类似nginx的反向代理服务器,对请求的url对应的输出的进行缓存。这个缓存和应用程序实现的动态页面缓存类似,只不过用反向代理充当了应用程序的缓存实现。主要节省了动态余元执行时间和数据库访问时间。
4 客户端浏览器缓存
客户端浏览器缓存主要是通过在http头部增加
Last-Modified,If-Modified-Since,Expires,Cache-Control等标识,和服务器进行协商,是否是采用客户的本机缓存来实现。
其中这里面也会分为三种方式
1 通过Last-Modified,If-Modified-Since方式和服务器通信,客户发出http请求中包含If-Modified-Since,如果服务器端代码没有修改,服务器端返回302响应代码的请求响应头(内容不返回)客户端则直接用本机缓存的内容缓存显示结果。相当于节省了服务器执行代码时间以及数据传输时间。
2 通过Expires,Cache-Control控制,客户端发现如果上次请求的页面还未过期,通过Expires或者Cache-Control进行辨别,则直接显示本机缓存的内容,不与服务器进行通信。
总结一下:1 一般的高并发的应用程序,都在web层采用了以上几种缓存,一般静态资源(图片,js,css)都会采用nginx反向代理+客户端缓存来实现。
2 对于门户网站,尤其是首页的新闻,一般都会缓存起来,可以通过反向代理也可以通过应用程序缓存实现方式
3 对于下载或者视频网站,由于数据传输比较大,直接采用浏览器本地缓存实现。
D. apache web服务器怎么配置图片缓存
LoadMole cache_mole moles/mod_cache.so
LoadMole mem_cache_mole moles/mod_mem_cache.so
<IfMole mod_cache.c>
<IfMole mod_mem_cache.c>
CacheEnable mem /
# cache 40MB
MCacheSize 80960
MCacheMaxObjectCount 21000
MCacheMaxStreamingBuffer 65536
MCacheMinObjectSize 1
MCacheMaxObjectSize 74000
###GDSF 基于缓存命中率和文档大小计算优先级。在必要时,优先级最低的文档被移出缓存
##MCacheRemovalAlgorithm GDSF
#LRU 指定最长时间没有用到的对象将在必要的时候移出缓存
MCacheRemovalAlgorithm LRU
</IfMole>
##传输压缩
LoadMole deflate_mole moles/mod_deflate.so
<IfMole mod_deflate.c>
DeflateMemLevel 7
DeflateWindowSize 15
DeflateBufferSize 8096
DeflateCompressionLevel 7
AddOutputFilterByType DEFLATE DEFLATE text/html text/plain application/x-httpd-php application/x-javascript text/css
AddOutputFilter DEFLATE css js php xml js html
AddOutputFilter DEFLATE css #压缩css文件
AddOutputFilter DEFLATE js #压缩js文件
</IfMole>
E. php如何把图片缓存到本地
正确设置Http Response Header中的Expires头将有助于提高网页访问速度
我们的网站中往往包含大量的页面组件,比如图片、样式表文件、JS脚本文件和Flash动画。这些组件的变化频率非常低,尤其是那些构成网站基本框架的组件,
几乎不会发生变化。我们可以将这些变化率很低的组件看作静态内容,利用IIS的内容过期机制和浏览器的本地缓存机制将它们在访问者的电脑硬盘中保存一段时间。
当访问者访问你的网站时,如果这些存在本地的静态内容没有过期,浏览器会从本地硬盘中装载,而不去向服务器发出请求。
如果你使用Fiddler这样的工具跟踪网页访问,你会清楚地看到虽然只是访问一个页面,但是发出的Http请求和应答却不止一个。网页中的每张图片,每个
JS脚本文件,每个CSS文件,都会引发一次请求和应答。因此如果想让网页的访问速度快起来,减少Http的请求数量,降低从服务器下载内容的次数是有效途径。
而使用了内容过期机制后可以就实现这样的目的,这就是使用内容过期机制的意义。
大多数的Web开发者都玩过IIS 6或IIS 7,但是又有多少人仔细观察过HTTP Headers或HTTP Response Headers
F. C#服务器端如何实现数据缓存求详细答案
一般都是将常用数据缓存在内存中(方法有很多种,比如内存数据库mongodb或者redis之类的或者自己做缓存),具体哪种方法主要取决于你的需要了。
G. JS设置background-image,如何缓存
理论上,浏览器会自动缓存图片的,
如果你的浏览器没有缓存,那有可能你把浏览器缓存禁用了,
还有一点是,即使是缓存了,浏览器还是会请求服务器的,但是请求的内容是,验证图片是否有修改,如果图片没有修改,那么服务器会返回状态码为300,而不是200,300意味着图片没有修改,那么浏览器就可以取本地缓存了,200是说图片下载传输完成的意思,就是说从服务器下载完成 ,
我觉得你的问题,应该是看到了浏览器请求,但是没有看状态吗的问题。
在明确一下:即使是缓存了,也会有请求的,只是请求的返回结果,是不是需要重新下载数据(图片)
H. java web项目中有很多的图片,如何存放
一般有两种情况,
一种是前端开发需要显示的图片,这个是页面构成必须的元素,一般这些会做 动静分离,后台接口 跟 前端资源会部署在不同的服务器上,有不同的优化,一般会有转发的服务器,判断是后台接口,就转发到后台的服务器,如果是前端资源,就转发到前台的服务器。一般情况下,前端服务器,跟后台的服务器,是分离开的,有不同的人去管理,如果项目小的话,可能就全放在一个。这个优化的化,你可以去了解下 CDN原理。这个是用来优化静态资源加载情况的。
另一种情况是,显示的图片,不是前端构成的,是用户上传文件产生的,这种情况下,现在一般有专门的对象存储,用过 七牛云,跟阿里的。这个的逻辑是文件上传的时候,不是上传到我们自己的服务器,上传到专门的云服务器,我们自己数据库只需要保存这些上传文件的地址,真正使用的时候,把连接给前端,前端自动会根据内容到专门的云服务器上去获取。所有的安全,优化,带宽,缓存命中,这些都有由云服务器去保证。 简单来说,只有有钱,这些东西根本不会成为你项目的瓶颈。
作为技术,我们讨论的应该不是这些。图片会做备份,这个可以有专门的磁盘阵列去实现,简单来说,就是上传的内容保存到磁盘的时候,会自动多保存几个备份到不同的磁盘上。还是那句话,多去了解下CDN的原理,最后这段,个人理解,不一定对。
I. asp.net 页面的图片 如何让浏览器缓存
这不用考虑,浏览器自动缓存图片,只有在故意不让浏览器缓存图片的情况下才需要手动写些代码
J. 请教高手,html页面中的图片,如何让浏览器缓存至本地
方法很简单,你把保留网页历史的时间改长而且加大缓存目录的体积就行了,方法就是看浏览器顶部,工具,internet选项,这个界面有历史长度,最多999天,看里面的“设置”,可以改保存网页的路径,以及体积大小。在历史时间内,比如30天,不需要再次缓存页面,但是有个问题,就是你如果在线听歌,看大图片,如果过多,会导致你的IE缓存很庞大,有可能超出你的IE默认的体积,所以你最好转移到非系统分区,而且设置体积很大,1G甚至更大,否则超出后默认删除早期的图片,歌曲,flash等文件。