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
Redis入門
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kazunori-Kimura
July 13, 2017
Technology
0
440
Redis入門
Redisの概要とデータモデルについての解説、簡単なアプリを想定したデータ設計について
Kazunori-Kimura
July 13, 2017
Tweet
Share
More Decks by Kazunori-Kimura
See All by Kazunori-Kimura
path-parser
kazunorikimura
0
390
objectのcloneを行う/How to clone of the object in js
kazunorikimura
0
410
クライアントサイドで大きなデータを扱うときのお話/Web Worker & IndexedDB
kazunorikimura
0
680
How freelance programmer works
kazunorikimura
0
140
moment.js
kazunorikimura
0
110
sequelize.pdf
kazunorikimura
0
610
Toward the world of "ready player one"
kazunorikimura
0
110
npmの便利なパッケージ: forever, winser
kazunorikimura
0
1k
npmの便利なパッケージ: Jest
kazunorikimura
0
150
Other Decks in Technology
See All in Technology
Webhook best practices for rock solid and resilient deployments
glaforge
1
290
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
140
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.4k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
590
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
380
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
660
配列に見る bash と zsh の違い
kazzpapa3
1
150
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
280
What happened to RubyGems and what can we learn?
mikemcquaid
0
300
今日から始めるAmazon Bedrock AgentCore
har1101
4
410
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
0
350
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
830
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
200
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
710
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
sira's awesome portfolio website redesign presentation
elsirapls
0
150
Transcript
3FEJTೖ ଜ ݑن
3FEJTͱʁ Ωʔͱछྨͷܕͷ ରԠؔΛ֨ೲ͢Δɺඇৗʹߴͳ ඇϦϨʔγϣφϧσʔλϕʔε
3FEJTͷ͍ॴ • ηογϣϯใͷཧ • ιʔγϟϧήʔϜͷϥϯΩϯάػೳ • 2VFVF
3FEJTͷಛ • ΠϯϝϞϦͷσʔλϕʔεɾαʔόʔ • ϋΠύϑΥʔϚϯε • ϨϓϦέʔγϣϯ • ಠಛͳσʔλϞσϧ
3FEJTͷಛ • ΠϯϝϞϦͷσʔλϕʔεɾαʔόʔ • ϋΠύϑΥʔϚϯε • ϨϓϦέʔγϣϯ • ಠಛͳσʔλϞσϧ
ಠಛͳσʔλϞσϧ ܕ໊ ֓ཁ 453*/( จࣈྻɺɺුಈখ -*45 จࣈྻͷ࿈݁Ϧετ 4&5 Ұҙͳจࣈྻͷॱংͷͳ͍ίϨΫγϣϯ
)"4) ॱংͷͳ͍Ωʔͱͷϋογϡςʔϒϧ ;4&5 είΞॱʹฒΒΕͨจࣈྻ
453*/( IFMMP TUSJOH XPSME Ωʔ໊ ͷܕ ֨ೲ͞Ε͍ͯΔ
-*45 MJTULFZ MJTU JUFN Ωʔ໊ ͷܕ ͷϦετɺॏෳՄ JUFN JUFN
-164)3164)ࠨӈʹཁૉΛՃ -1013101ࠨӈͷཁૉΛऔΓग़͢
4&5 TFULFZ TFU JUFN Ωʔ໊ ͷܕ Ұҙͳͷू߹ɺॱংະఆٛ JUFN JUFN
ͭͷ4&5ʹରͯ͠ੵू߹ɺू߹ɺࠩू߹ΛऔಘͰ͖Δ
)"4) IBTILFZ IBTI Ωʔ໊ ͷܕ ҰҙͳϑΟʔϧυɺ ॱংະఆٛ GJFME WBMVF
GJFME WBMVF ϑΟʔϧυʹରԠͨ͠
;4&5 ιʔτࡁΈηοτ [TFULFZ [TFU Ωʔ໊ ͷܕ είΞ NFNCFS
NFNCFS ϝϯόʔ ཁૉΛՃ͢ΔͱɺࣗಈతʹείΞͷঢॱʹฒΒΕΔ
3FEJTͷΠϯετʔϧ
3FEJTͷΠϯετʔϧ 8JOEPXTͷ߹ .JDSPTPGU͕3FEJTͷ8JOEPXTόΠφϦ Λఏڙ͍ͯ͠Δ 3FMFBTFTu.40QFO5FDISFEJT IUUQTHJUIVCDPN.40QFO5FDISFEJTSFMFBTFT
3FEJTͷΠϯετʔϧ .BDͷ߹ IPNFCSFXͰΠϯετʔϧ CSFXJOTUBMMSFEJT
3FEJTͷΫϥΠΞϯτ • SFEJTDMJ • λʔϛφϧͰ༻͢ΔΫϥΠΞϯτ • ֤ݴޠ͚ͷΫϥΠΞϯτɾϥΠϒϥϦ • IUUQTSFEJTJPDMJFOUT
ʲαϯϓϧʳ 50%0ΞϓϦ
3FEJTΛͬͯΈΔ • 50%0ΞϓϦͷσʔλετΞʹ3FEJTΛ ༻ͯ͠ΈΔ • ࣌ؒΓͳ͔ͬͨͷͰઃܭͷΈ • ·ͩ·ͩษڧதͳͷͰ৭ʑؒҧͬͯΔ͔ʜ
σʔλઃܭ
σʔλઃܭͷߟ͑ํ • σʔλͷߏΑΓɺσʔλΛͲ͏༻͢ Δ͔ʹओ؟Λஔ͍ͯઃܭ͢Δ ʜͷ͕͍͍Μ͡Όͳ͍͔ͳ͊ɻ • σʔλޮߟྀʹೖΕΔ • Ωʔ͋ͨΓͷσʔλ݅ͱ͔
Ωʔ໊ͷ͚ํ • b` b`Λ۠Γจࣈͱͯ͠༻͢Δ • 3%#Ͱ͍͏ओΩʔؚΊͯ͠·͏
σʔλઃܭ Ωʔ ܕ આ໌ todo: STRING idの採番に利⽤する todo:{id} HASH todoのデータ
created: ZSET todoを作成⽇時順に保持 limit: ZSET todoを期限順に保持 ϑΟʔϧυ text todoの内容 done 完了フラグ limit 期限 created 作成⽇時
ৄࡉઃܭ
$36%ͷઃܭ • ࣮ࡍʹ3FEJTͷίϚϯυͰ50%0ͷ $36%ΛͲͷΑ͏ʹߦ͏͔Λཧ͢Δ • 3FEJTͷ$MJFOUϥΠϒϥϦSFEJTDMJ ͷίϚϯυΛϝιουʹͨ͠ͷ͕ଟ ͍ͷͰɺͦͷ··࣮Ͱ͖Δ
σʔλΛొ͢Δ߹
σʔλΛొ͢Δ߹ JODS ࢦఆ͞ΕͨΩʔͷΛJODSFNFOU͢Δ ֘Ωʔ͕ແ͚Εొͯ͠Λฦ͢ ࠓճԿ͔ࢼͨ͠ͷͰԠ͕ ʹͳ͍ͬͯΔ
σʔλΛొ͢Δ߹ NVMUJFYFDEJTDBSE 3FEJTͷτϥϯβΫγϣϯɻ NVMUJ͔Β FYFDͷؒͷ໋ྩ 2VFVFʹੵ͞ΕɺFYFD࣮ߦ࣌ʹ ·ͱΊͯॲཧ͞ΕΔɻ
σʔλΛొ͢Δ߹ INTFU \LFZ^<\GJFME^\WBMVF^> IBTIʹ·ͱΊͯϑΟʔϧυͱΛηοτ͢Δɻ ظݶͱ࡞࣌6OJYUJNFΛηοτ͍ͯ͠Δ
σʔλΛొ͢Δ߹ [BEE \LFZ^\TDPSF^\NFNCFS^ [TFUʹཁૉΛՃ͢Δɻ࡞࣌ॱʹUPEPΛฒସ͑ ͍ͨͷͰɺTDPSFʹ࡞࣌ͷ6OJYUJNFΛઃఆ
σʔλΛొ͢Δ߹ [BEE \LFZ^\TDPSF^\NFNCFS^ [TFUʹཁૉΛՃ͢ΔɻظݶॱʹUPEPΛฒସ͍͑ͨ ͷͰɺTDPSFʹظݶͷ6OJYUJNFΛઃఆ ظݶ͕ϒϥϯΫͳΒΛηοτ
σʔλΛొ͢Δ߹ FYFDΛ࣮ߦ͢ΔͱɺΩϡʔΠϯά͞Ε໋ͨྩ͕ ॱʹ࣮ߦ͞Εɺ݁Ռ͕දࣔ͞ΕΔ
σʔλΛߋ৽͢Δ߹ 更新の場合は todo: をincrementせずに、更新対象の IDを元にキーを組み⽴てる。 以降の処理は登録時と同様
σʔλΛऔಘ͢Δ߹
σʔλΛऔಘ͢Δ߹ [SBOHF \LFZ^\TUBSU^\FOE^ [TFU͔ΒൣғΛࢦఆͯ͠Λऔಘ͢Δ σʔλTDPSFͷঢॱʹͳ͍ͬͯΔ MJNJUʹTDPSFʹظݶɺNFNCFSʹIBTIͷΩʔ͕ ೖ͍ͬͯΔ
σʔλΛऔಘ͢Δ߹ INHFU \LFZ^<\GJFME^> IBTI͔ΒෳϑΟʔϧυΛ·ͱΊͯऔಘ͢Δ ઌఔ [SBOHF Ͱऔಘͨ͠ΩʔΛݩʹɺॱ൪ʹσʔλΛ औಘ͍ͯ͘͠
σʔλΛআ͢Δ߹
σʔλΛআ͢Δ߹ EFM \LFZ^<\LFZ^> ࢦఆ͞ΕͨΩʔΛআ͢Δ
σʔλΛআ͢Δ߹ [SFN \LFZ^\NFNCFS^ [TFU͔Βࢦఆ͞ΕͨϝϯόʔΛআ͢Δ
আ֬ೝ
·ͱΊ
·ͱΊ • 3FEJTͷ֓ཁ • ಠಛͳσʔλϞσϧ • σʔλઃܭ
ࢀߟ 3FEJT IUUQTSFEJTJP 3FEJT %PDVNFOUBUJPO +BQBOFTF5SBOTMBUJPO IUUQSFEJTEPDVNFOUBTJPO KBQBOFTFSFBEUIFEPDTJPKBMBUFTUJOEFYIUNM 3FEJTೖ ΠϯϝϞϦ,74ʹΑΔߴσʔλཧʲҕୗʳ
ୡਓग़൛ձ IUUQTUBUTV[JOFDPNCPPLTSFEJT