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
Cacheが速いのか確認する話
Search
Ryo Tomidokoro
August 08, 2017
Technology
0
780
Cacheが速いのか確認する話
Ryo Tomidokoro
August 08, 2017
Tweet
Share
More Decks by Ryo Tomidokoro
See All by Ryo Tomidokoro
フロントエンドがTypeScriptなら、バックエンドはPHPでもいいじゃない/php-is-not-bad
hanhan1978
8
13k
どうすると生き残れないのか/how-not-to-survive
hanhan1978
17
14k
100分で本番デプロイ!Laravelで作るWebアプリケーション作成/100min_web_app_cicd
hanhan1978
1
200
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
8
3.1k
集中して作業する技術/how_to_work_deeply
hanhan1978
65
51k
PHPでデータベースを作ってみた/create-data-with-php
hanhan1978
11
11k
ADRを一年運用してみた/adr_after_a_year
hanhan1978
8
4.4k
B+木入門:PHPで理解する データベースインデックスの仕組み/b-plus-tree-101
hanhan1978
5
5.6k
ADRを一年運用してみた/our_story_about_adr
hanhan1978
5
2.4k
Other Decks in Technology
See All in Technology
The Cake Is a Lie... And So Is Your Login’s Accessibility
leichteckig
0
110
やる気のない自分との向き合い方/How to Deal with Your Unmotivated Self
sanogemaru
0
470
セキュアな認可付きリモートMCPサーバーをAWSマネージドサービスでつくろう! / Let's build an OAuth protected remote MCP server based on AWS managed services
kaminashi
3
280
社内お問い合わせBotの仕組みと学び
nish01
1
560
SREとソフトウェア開発者の合同チームはどのようにS3のコストを削減したか?
muziyoshiz
1
220
KMP の Swift export
kokihirokawa
0
350
OpenAI gpt-oss ファインチューニング入門
kmotohas
2
1.2k
Access-what? why and how, A11Y for All - Nordic.js 2025
gdomiciano
1
130
Developer Advocate / Community Managerなるには?
tsho
0
120
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
710
Trust as Infrastructure
bcantrill
1
370
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
140
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
75
5k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Scaling GitHub
holman
463
140k
The Cost Of JavaScript in 2023
addyosmani
54
9k
Why Our Code Smells
bkeepers
PRO
339
57k
Become a Pro
speakerdeck
PRO
29
5.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Transcript
Cache͕͍ͷ͔֬ೝ͢Δ 1)1#-5 *OOPWBUPS+BQBO*OD ॴ྄ &OHJOFFS
I˕UCONഭ͖ͬͯͨͷͰ
ύϑΥʔϚϯεʹහײʹͳΔ
ࠓճͷ͓ LaravelͰγϯϓϧͳΞϓϦΛ࡞ΓCacheͷੑೳΛܭଌ Laravel 1. BenchڥDockerͰߏங 2. Benchπʔϧsiege 3. title(255), content(1024)Λ1ສ݅औಘ
4. PHP7.1 with Opcache ຊεϥΠυʹ͓͍ͯCacheͱΞϓϦέʔγϣϯଆͰσʔλϕʔεͷݕࡧ ݁ՌΛCache͢Δͱ͍͏ҙຯͰ͢ɻΫΤϦΩϟογϡͷ͜ͱͰ͋Γ· ͤΜɻ
ॗʑͱܭଌ͢Δ
#FODI.BSL siege -t10s http://localhost/test 5SBOTBDUJPOSBUF USBOTTFD ૉLaravelͷύϑΥʔϚϯε
#FODI.BSL siege -t10s http://localhost/test_mysql 5SBOTBDUJPOSBUF USBOTTFD Cacheͳ͠MySQL 10000݅SELECT
ͬͺΓ͍ɻͦ͏ͩCache͠Α͏
#FODI.BSL siege -t10s http://localhost/test_predis 5SBOTBDUJPOSBUF USBOTTFD predisϥΠϒϦͰCache
#FODI.BSL siege -t10s http://localhost/test_redis 5SBOTBDUJPOSBUF USBOTTFD redis-extensionͰCache
݁ՌΛ·ͱΊΔ
#FODI.BSL USBOTTFD ݅ .Z42- 1SFEJT 3FEJTFYU
ԾઆΛཱͯΔ 1. ͕݅ଟ͍ͷͰIOόϯυ 2. MySQL5.7Ͱѹॖసૹ͕ޮ͍ͯΔ 3. PHPͷ༨ܭͳใ͕༩͞ΕͯΔ ͕݅ݮΔͱRedis͕༏ʹͳΔͣ
#FODI.BSL USBOTTFD ݅ ݅ ݅ ݅ .Z42-
1SFEJT 3FEJTFYU
Γͳ͍
#FODI.BSL Ͳ͏ͤͳΒɺCache͡Όͳͯ͘PHPʹͯ͠͠·͓͏ $val = var_export($res, true); file_put_contents(“tmp/$key”, '<?php $val =
' . $val . ';', LOCK_EX); ͜͏ͯ͠ include “tmp/$key”; ͜͏͡Ό
#FODI.BSL USBOTTFD ݅ ݅ ݅ ݅ .Z42-
1SFEJT 3FEJTFYU *ODMVEF
൵͍͠ͷͰ
#FODI.BSL ΠϯϥΠϯͰvar_exportͨ͠มΛॻ͍ͪΌ͏ $val = var_export($res, true); file_put_contents(“tmp/$key”, '<?php $val =
' . $val . ';', LOCK_EX); ͜͏ͯ͠ ͦͷ··ϖʔετ
#FODI.BSL USBOTTFD ݅ ݅ ݅ ݅ .Z42-
1SFEJT 3FEJTFYU JODMVEF JOMJOF
ࠓͷڭ܇ 1. mysqlҒେ 2. ೣḏࢠRedis => NG 3. IOίετ͕͔͔Δ(คຶ) RedisSortedListͱ͔Θͳ͍ݶΓ
ߟ͑ͳͯ͘ྑ͍͔͠Εͳ͍ɻ
ࠓޙͷ՝ 1. େྔσʔλΛίετͰ՚ྷʹಡΈࠐΉํ๏ 2. Cacheʹ͖͔͢Ͳ͏͔ͷᮢͷѲ