Questions tagged «caching»

缓存是一种用于在本地临时存储(缓存)数据以减少对远距离存储的数据的访问时间的机制。对于CPU /磁盘/ Web浏览,请使用相关标签(cpu-cache,diskcache等)

9
Amazon S3和Cloudfront缓存,如何清除缓存或同步其缓存
我有一个cron作业,每10分钟运行一次,并更新content-type和x-amz-meta。但是从昨天开始,看起来像是在执行cron作业之后,亚马逊就没有拿起所做的更改(刷新缓存)。 我什至去手动进行更改,但没有更改... 上传视频后,视频具有application/x-mp4内容类型,并且cron作业将其更改为video/mp4。 尽管S3具有正确的内容类型,video/mp4但是cloudfront显示application/x-mp4(旧的内容类型)...。 Cron作业已经过去6个月没有问题了。 亚马逊缓存有什么问题?我该如何同步缓存?

6
如何强制Django忽略所有缓存并重新加载数据?
我正在使用未从HTTP请求调用的进程中的Django数据库模型。该过程应该每隔几秒钟轮询一次新数据并对其进行一些处理。我有一个循环,它休眠了几秒钟,然后从数据库中获取所有未处理的数据。 我看到的是,在第一次获取之后,该进程再也看不到任何新数据。我进行了一些测试,尽管每次我都在构建新的QuerySet,但看起来Django正在缓存结果。为了验证这一点,我从Python shell做到了这一点: >>> MyModel.objects.count() 885 # (Here I added some more data from another process.) >>> MyModel.objects.count() 885 >>> MyModel.objects.update() 0 >>> MyModel.objects.count() 1025 如您所见,添加新数据不会更改结果计数。但是,调用管理器的update()方法似乎可以解决此问题。 我找不到关于该update()方法的任何文档,也不知道它可能还会做其他什么坏事。 我的问题是,为什么我会看到这种缓存行为,这与Django文档所说的相反?以及如何防止它发生?
77 python  django  caching 

4
L1和L2缓存的行大小
从该论坛上的上一个问题中,我了解到,在大多数内存系统中,L1缓存是L2缓存的子集,这意味着从L2删除的所有条目也将从L1删除。 所以现在我的问题是我如何确定L1缓存中对应于L2缓存中的条目的条目。L2条目中存储的唯一信息是标签信息。基于此标签信息,如果L1和L2缓存的行大小不同,则如果我重新创建addr,它可能会跨越L1缓存中的多行。 该体系结构是否真的要对两条线进行刷新,还是只是将L1和L2高速缓存保持为相同的线大小? 我知道这是一项政策决定,但我想知道常用的技术。

5
何时在Android中清除缓存目录?
我有一个显示来自互联网的图片的应用程序(用于设计师工作的展示柜)。我开始在内部缓存目录中缓存我的内容,但是应用程序内容可能需要约150 MB的缓存大小。以及android docs怎么说: 您应该始终自己维护高速缓存文件,并保持在合理的空间消耗限制内,例如1MB。当用户卸载您的应用程序时,这些文件将被删除。 因此,我看了一下Currents应用程序(Galaxy Nexus),该应用程序的缓存大小为110 MB。但是奇怪的是,诸如Google Currents和Google Maps之类的应用程序将内容缓存在称为(USB Storage Data)的内容中: 那么以前的应用程序使用的“ USB存储数据”是什么。而且,如果您在应用程序中实现了缓存,是否需要在缓存中循环所有应用程序文件,以便在每次需要插入内容然后进行比较和清除时获取大小?还是在Android决定清理某个应用程序缓存目录的时间之前一直缓存内容? 我真的很想知道在Android中管理缓存的流程是什么,或者至少是其他应用程序对要缓存的大内容做了什么。
77 android  caching 

14
使毕加索中的缓存无效
我使用Picasso从磁盘加载图像,例如,Picasso.with(ctx).load(new File("/path/to/image")).into(imageView)但是每当我在该文件中保存新图像并刷新时ImageView,Picasso仍然会缓存位图。 是否有可能使毕加索的缓存无效?


7
如何设置缓存:jQuery.get调用中为false
jQuery.get()是jQuery.ajax()get呼叫的简写。但是,当我设置调用cache:false的数据时.get(),发送到服务器的是一个名为false的参数,称为cache。虽然我的意图是将带有数据的时间戳发送到服务器以防止缓存,但是如果我cache: false在jQuery.ajax数据中使用它,将会发生这种情况。我如何做到这一点而不重写我的jQuery.get调用到jQuery.ajax调用或使用 $.ajaxSetup({ // Disable caching of AJAX responses cache: false }); 更新:谢谢大家的答案。你们都是正确的。但是,我希望有一种方法可以让get调用知道您不想缓存,或将该值发送到基础.ajax()以便知道如何处理。 我一个 寻找除目前已确定的三种方式以外的第四种方式: 通过ajaxSetup全局执行 使用.ajax呼叫而不是.get呼叫 手动执行此操作,方法是将一个带有时间戳的新参数添加到您的.get调用中。 我只是认为应该将此功能内置到.get调用中。
75 jquery  caching 

3
无法打开流:HTTP包装器不支持可写连接
我已将本地主机文件上传到我的网站,但显示此错误:- : [2] file_put_contents( ***WebsiteURL*** /cache/lang/ ***FileName*** .php) [function.file-put-contents]: failed to open stream: HTTP wrapper does not support writeable connections | LINE: 127 | FILE: /home/content/ ***Folders\FileName*** .php 我个人觉得内容被保存在缓存文件夹中的文件中,当我将文件上传到Web服务器时,它正在尝试访问缓存的localhost文件夹。
75 php  caching 

8
python中的StringIO实际上用于什么?
我不是专业人士,我一直在努力了解StringIO的确切用途。我一直在互联网上找一些例子。但是,几乎所有示例都是非常抽象的。他们只是展示“如何”使用它。但是它们都没有显示“为什么”和“在什么情况下”应该/将要使用它?提前致谢 ps不要与stackoverflow上的这个问题混淆:StringIO用法,用于比较string和StringIo。
75 python  string  caching  io 

18
从Glide库的缓存中删除图像
我在一个项目中使用Glide来显示文件中的图像。 下面是我的代码如何显示图像: Glide.with(DemoActivity.this) .load(Uri.parse("file://" + imagePath)) .into(mImage); 此位置(imagePath)上的图像不断变化。默认情况下,Glide缓存它在中显示的图像ImageView。因此,Glide正在为该位置的新图像显示缓存中的第一张图像。 如果我在imagePath其他位置使用相同名称的其他图像来更改图像,则Glide将显示第一个图像而不是新的图像。 两个查询是: 是否可以始终从文件中获取图像而不缓存?这样就可以解决问题。 是否有可能在获取新替换的图像之前从缓存中清除图像?这也将解决问题。


12
htaccess-如何强制客户端的浏览器清除缓存?
对于我的网站,我具有以下htaccess规则: # BEGIN Gzip <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript </IfModule> # END Gzip # BEGIN EXPIRES <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 10 days" ExpiresByType text/css "access plus 1 month" ExpiresByType text/plain "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType …

2
无法选择其他查询字符串参数或使用POST时如何避免Internet Explorer 11中的AJAX缓存
我意识到已经提出了这个问题,但是在现代REST实践中,该问题的先前迭代及其答案都不够准确或足够。这个问题需要一个明确的答案。 这个问题是众所周知的,IE(甚至11)缓存AJAX请求,这确实是愚蠢的。每个人都明白这一点。 什么是不容易理解的是,没有对以前的答案是足够的。关于SO的此问题的每个先前实例都被以下任一点标记为充分回答: 1)对每个请求使用唯一的查询字符串参数(例如unix时间戳),以使每个请求的URL唯一,从而防止缓存。 - 要么 - 2)使用POST而不是GET,因为IE在某些特殊情况下不会缓存POST请求。 - 要么 - 3)使用服务器传递的“ cache-control”标头。 IMO在涉及现代REST API实践的许多情况下,这些答案都不足够或不切实际。REST API的POST和GET请求处理程序将完全不同,其行为也将完全不同,因此POST通常不是GET的适当或正确替代方案。同样,许多API对其都有严格的验证,并且由于多种原因,当喂入它们不期望的查询字符串参数时,将产生500或400个错误。最后,我们经常与第三方或其他不灵活的REST API交互,在这些API中我们无法控制服务器响应提供的标头,并且添加缓存控制标头不在我们的能力范围内。 因此,问题是: 在这种情况下,客户端是否真的无法采取任何措施来防止IE缓存AJAX GET请求的结果?


8
L1高速缓存未命中的成本是多少?
编辑:出于参考目的(如果有人偶然发现此问题),Igor Ostrovsky写了一篇有关缓存未命中的好文章。它讨论了几个不同的问题并显示了示例编号。 结束编辑 我做了一些测试,<long story goes here>并且想知道性能差异是否是由于内存缓存未命中引起的。以下代码演示了该问题,并将其归结为关键的计时部分。以下代码具有几个循环,这些循环以随机顺序访问内存,然后以地址升序访问。 我在XP机器(与VS2005编译:cl / O2)和Linux机器(gcc –Os)上运行了它。两者产生相似的时间。这些时间以毫秒为单位。我相信所有循环都在运行,并且没有进行优化(否则它将“立即”运行)。 ***测试20000个节点 总订购时间:888.822899 总随机时间:2155.846268 这些数字有意义吗?差异主要是由于L1高速缓存未命中还是其他原因造成的?有20,000 ^ 2个内存访问,如果每个访问都是缓存未命中,则每个未命中大约3.2纳秒。我测试过的XP(P4)机器为3.2GHz,我怀疑(但不知道)具有32KB L1高速缓存和512KB L2。假设有20,000个条目(80KB),我认为不会有大量的L2丢失。原来如此(3.2*10^9 cycles/second) * 3.2*10^-9 seconds/miss) = 10.1 cycles/miss。在我看来,这太高了。也许不是,或者我的数学不好。我尝试使用VTune测量高速缓存未命中,但是出现了BSOD。现在,我无法连接到许可证服务器(grrrr)。 typedef struct stItem { long lData; //char acPad[20]; } LIST_NODE; #if defined( WIN32 ) void StartTimer( LONGLONG *pt1 ) { QueryPerformanceCounter( (LARGE_INTEGER*)pt1 ); } …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.