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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ninjinkun
March 24, 2012
Technology
20k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
NSCacheについて
第43回Cocoa関西 で発表しました。Mac OSX / iOS組み込みのキャッシュモジュールの紹介です。
ninjinkun
March 24, 2012
More Decks by ninjinkun
See All by ninjinkun
買収から2ヶ月でシステム統合した話
ninjinkun
0
180
Designer's and Engineer's Thinking Styles
ninjinkun
0
320
Launchable Webinar テストを効率化して生産性を上げる方法
ninjinkun
2
620
ディープリンクの 設計と実装 - iOSDC2017
ninjinkun
18
11k
スマートフォンアプリ開発における共創的な開発チーム
ninjinkun
61
19k
ReSwiftでアプリの状態管理 / Reactive Swift Meetup
ninjinkun
9
17k
フリルのアプリ開発今昔物語
ninjinkun
3
2.3k
プロトタイピング合宿によるデザインリニューアル
ninjinkun
1
3.2k
デザイナーが仕事をしやすいアプリエンジニアを考える
ninjinkun
4
750
Other Decks in Technology
See All in Technology
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
9
3.1k
tamachi.go 誕生の裏側
rymiyamoto
1
130
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
280
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
130
Apache Icebergインフラストラクチャ:ストレージ・カタログ・エンジンの選択肢とClouderaプラットフォームでの実装
tsugiyama
0
120
My broken English still works: speaking at global OSS events
naruoga
0
120
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
840
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.5k
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
1.1k
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
2
520
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
コネクションをピン留めさせずに SELECTクエリのタイムアウトを設定した話
codmoninc
0
160
Featured
See All Featured
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
630
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
640
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
900
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
4 Signs Your Business is Dying
shpigford
187
23k
Practical Orchestrator
shlominoach
191
12k
Six Lessons from altMBA
skipperchong
29
4.4k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Paper Plane
katiecoart
PRO
2
53k
Navigating Team Friction
lara
192
16k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Ethics towards AI in product and experience design
skipperchong
2
350
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