Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
NSCacheについて
Search
ninjinkun
March 24, 2012
Technology
2
20k
NSCacheについて
第43回Cocoa関西 で発表しました。Mac OSX / iOS組み込みのキャッシュモジュールの紹介です。
ninjinkun
March 24, 2012
Tweet
Share
More Decks by ninjinkun
See All by ninjinkun
買収から2ヶ月でシステム統合した話
ninjinkun
0
98
Designer's and Engineer's Thinking Styles
ninjinkun
0
210
Launchable Webinar テストを効率化して生産性を上げる方法
ninjinkun
2
560
ディープリンクの 設計と実装 - iOSDC2017
ninjinkun
18
10k
スマートフォンアプリ開発における共創的な開発チーム
ninjinkun
61
19k
ReSwiftでアプリの状態管理 / Reactive Swift Meetup
ninjinkun
9
17k
フリルのアプリ開発今昔物語
ninjinkun
3
2.2k
プロトタイピング合宿によるデザインリニューアル
ninjinkun
1
3.1k
デザイナーが仕事をしやすいアプリエンジニアを考える
ninjinkun
4
670
Other Decks in Technology
See All in Technology
✨敗北解法コレクション✨〜Expertだった頃に足りなかった知識と技術〜
nanachi
1
740
九州の人に知ってもらいたいGISスポット / gis spot in kyushu 2025
sakaik
0
170
Cloud WANの基礎から応用~少しだけDeep Dive~
masakiokuda
3
110
Foundation Model × VisionKit で実現するローカル OCR
sansantech
PRO
1
390
夏休みWebアプリパフォーマンス相談室/web-app-performance-on-radio
hachi_eiji
0
220
生成AIによるソフトウェア開発の収束地点 - Hack Fes 2025
vaaaaanquish
33
14k
はじめての転職講座/The Guide of First Career Change
kwappa
5
4.2k
Kiroでインフラ要件定義~テスト を実施してみた
nagisa53
3
370
形式手法特論:位相空間としての並行プログラミング #kernelvm / Kernel VM Study Tokyo 18th
ytaka23
3
1.4k
風が吹けばWHOISが使えなくなる~なぜWHOIS・RDAPはサーバー証明書のメール認証に使えなくなったのか~
orangemorishita
15
5.8k
結局QUICで通信は速くなるの?
kota_yata
8
7.3k
【CEDEC2025】『Shadowverse: Worlds Beyond』二度目のDCG開発でゲームをリデザインする~遊びやすさと競技性の両立~
cygames
PRO
1
370
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Bash Introduction
62gerente
614
210k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Designing for humans not robots
tammielis
253
25k
A Tale of Four Properties
chriscoyier
160
23k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
A Modern Web Designer's Workflow
chriscoyier
695
190k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Designing Experiences People Love
moore
142
24k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Transcript
NSCacheʹ͍ͭͯ id:ninjinkun / @ninjinkun
ΞδΣϯμ • NSCacheͱ • ͍ํ • αϯϓϧ • http://github.com/ninjinkun/NSCacheTest •
InstagramͷΞϓϦొ͕ඞཁ
֓ཁ NSCacheͱ • ΩϟογϡϞδϡʔϧ • iOS 4.0͔Βಋೖ • εϨουηʔϑ •
֨ೲ্ݶΛઃఆՄೳ
༻్ NSCacheͱ • ը૾Ωϟογϡ • αΠζ͕Ͱ͔͍ͷͰΦϯϝϞϦʹͣͬͱஔ͚ͳ͍ • μϯϩʔυͨ͠ͷΛҰ࣌తʹอଘ͢Δ • ͦͷଞɺ༰ྔ͕େ͖ͯ͘ɺ͍Ζ͍ΖͳεϨου͔ΒΞ
Ϋηε͞Εͦ͏ͳͷͳΒԿͰ…
͍ํ • ίʔυΛݟͤΔ • ImageLoaderΫϥεʹ͍ͩ͘͝͞
্ݶͷܾఆ ͍ํ • ΦϒδΣΫτͷݸ • setCountLimit: • ΦϒδΣΫτͷίετ • setTotalCostLimit
• ίετset࣌ʹࣗͰܾΊΔ • setObject:forKey:cost:
Evictionͷ݅ ͍ํ • Կݸ͔ͷΞϧΰϦζϜΛΈ߹Θ͍ͤͯΔΒ͍͠ • جຊతʹLRU (Least Recently Used) Ά͍
• ࠷ޙʹͬͨͷΛ͢ • ίετ or αΠζ্͕ݶΛ͑ͨΒevict
NSCacheͱ࿈ܞ͢ΔΫϥε ͓·͚ • NSDiscardableContent • ഁغՄೳͳσʔλΛදݱ͢Δϓϩτίϧ • ഁغՄೳ͔Λ͍߹ΘͤΔϝιου͕͋Δ • NSPurgeableData
<NSDiscardableContent> • NSMutableDataͷࢠΫϥε
·ͱΊ • ը૾ΩϟογϡʹNSCache • εϨουηʔϑ • লϝϞϦ • LRU