NSURLCache 使用什么缓存算法?

发布于 2024-11-26 10:36:59 字数 423 浏览 3 评论 0原文

Apple 的 NSURLCache 类具有 不错的文档,但它没有说明它使用的缓存算法。是 LRU、LFU 还是完全别的什么?

我正在为 iPad 进行开发,希望通过使用 [NSURLCache setDiskCapacity] 来利用 NSURLCache 的磁盘缓存功能来缓存照片(默认值似乎是为 0)。这个值的上限是多少?

Apple's NSURLCache class has decent documentation, but it doesn't say what caching algorithm it uses. Is it LRU, LFU, or something else entirely?

I'm developing for the iPad, and am hoping to make use of NSURLCache's disk-caching abilities to cache photos, by using [NSURLCache setDiskCapacity] (the default seems to be 0). What's the upper limit on this value?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

荒岛晴空 2024-12-03 10:36:59

磁盘容量的上限似乎是设备的磁盘容量。我看不到任何有关“软件强加”限制的信息。

至于缓存算法,似乎没有任何苹果提供的文档,但我确实找到了 这个。严格来说,这并不是您所要求的,但它确实可以让您深入了解正在发生的事情。我相信这个算法使用的是多队列缓存算法(?),它按大小排序,然后按最近最少使用排序。

如果您正在做一些依赖于了解缓存算法的事情,您可以用它来做一些事情。

The upper limit on the disk capacity seems to be the disk capacity of the device. I can't see anything about a 'software imposed' limit.

As for the caching algorithm, there doesn't seem to be any apple provided documentation but I did find this. It's not strictly what you asked for, but it certainly gives you an insight into what's going on. I believe this one to be using a Multi Queue Caching Algorithm (?) where it's sorted by size and then by least recently used.

If you were making something dependant on knowing the caching algorithm, you could do some thing with this.

铃予 2024-12-03 10:36:59

我猜你将不得不编写一些测试用例来解决这个问题。 (当然,请注意,参数可能会随着 iOs 版本、硬件平台等的变化而变化。)

I would guess that you're going to have to write some test cases to figure it out. (And, of course, be aware that the parameters may change with iOs version, hardware platform, etc.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文