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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
600
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
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
42k
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
73k
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
130
Agile Leadership Summit Keynote 2026
m_seki
1
290
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
310
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
2
120
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
170
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
570
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
0
680
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
210
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
120
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
190
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Accessibility Awareness
sabderemane
0
48
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Technical Leadership for Architectural Decision Making
baasie
1
240
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
270
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Building AI with AI
inesmontani
PRO
1
680
GraphQLとの向き合い方2022年版
quramy
50
14k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
Thoughts on Productivity
jonyablonski
74
5k
Unsuck your backbone
ammeep
671
58k
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