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
9
13k
どうすると生き残れないのか/how-not-to-survive
hanhan1978
17
14k
100分で本番デプロイ!Laravelで作るWebアプリケーション作成/100min_web_app_cicd
hanhan1978
1
180
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
8
3k
集中して作業する技術/how_to_work_deeply
hanhan1978
65
50k
PHPでデータベースを作ってみた/create-data-with-php
hanhan1978
11
10k
ADRを一年運用してみた/adr_after_a_year
hanhan1978
8
4.3k
B+木入門:PHPで理解する データベースインデックスの仕組み/b-plus-tree-101
hanhan1978
5
5.4k
ADRを一年運用してみた/our_story_about_adr
hanhan1978
5
2.4k
Other Decks in Technology
See All in Technology
【OptimizationNight】数理最適化のラストワンマイルとしてのUIUX
brainpadpr
2
550
Amazon Qで2Dゲームを作成してみた
siromi
0
170
GCASアップデート(202506-202508)
techniczna
0
200
マルチプロダクト×マルチテナントを支えるモジュラモノリスを中心としたアソビューのアーキテクチャ
disc99
1
650
リモートワークで心掛けていること 〜AI活用編〜
naoki85
0
190
Rethinking Incident Response: Context-Aware AI in Practice - Incident Buddy Edition -
rrreeeyyy
0
120
僕たちが「開発しやすさ」を求め 模索し続けたアーキテクチャ #アーキテクチャ勉強会_findy
bengo4com
0
2.6k
Amazon GuardDuty での脅威検出:脅威検出の実例から学ぶ
kintotechdev
0
130
はじめての転職講座/The Guide of First Career Change
kwappa
5
4.4k
信頼できる開発プラットフォームをどう作るか?-Governance as Codeと継続的監視/フィードバックが導くPlatform Engineeringの進め方
yuriemori
1
180
LTに影響を受けてテンプレリポジトリを作った話
hol1kgmg
0
380
サイボウズフロントエンドの横断活動から考える AI時代にできること
mugi_uno
3
1.1k
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
KATA
mclloyd
32
14k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Into the Great Unknown - MozCon
thekraken
40
2k
Become a Pro
speakerdeck
PRO
29
5.5k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Visualization
eitanlees
146
16k
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ʹ͖͔͢Ͳ͏͔ͷᮢͷѲ