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
Kazunori-Kimura
July 13, 2017
Technology
0
420
Redis入門
Redisの概要とデータモデルについての解説、簡単なアプリを想定したデータ設計について
Kazunori-Kimura
July 13, 2017
Tweet
Share
More Decks by Kazunori-Kimura
See All by Kazunori-Kimura
path-parser
kazunorikimura
0
380
objectのcloneを行う/How to clone of the object in js
kazunorikimura
0
400
クライアントサイドで大きなデータを扱うときのお話/Web Worker & IndexedDB
kazunorikimura
0
660
How freelance programmer works
kazunorikimura
0
120
moment.js
kazunorikimura
0
97
sequelize.pdf
kazunorikimura
0
580
Toward the world of "ready player one"
kazunorikimura
0
91
npmの便利なパッケージ: forever, winser
kazunorikimura
0
1k
npmの便利なパッケージ: Jest
kazunorikimura
0
130
Other Decks in Technology
See All in Technology
2025新卒研修・Webアプリケーションセキュリティ #弁護士ドットコム
bengo4com
2
8.8k
MySQL HeatWave:サービス概要のご紹介
oracle4engineer
PRO
3
1.6k
Backlog AI アシスタントが切り開く未来
vvatanabe
1
170
信頼できる開発プラットフォームをどう作るか?-Governance as Codeと継続的監視/フィードバックが導くPlatform Engineeringの進め方
yuriemori
1
160
AI時代の大規模データ活用とセキュリティ戦略
ken5scal
1
240
Foundation Model × VisionKit で実現するローカル OCR
sansantech
PRO
1
420
生成AIによるデータサイエンスの変革
taka_aki
0
3k
JAWS AI/ML #30 AI コーディング IDE "Kiro" を触ってみよう
inariku
3
400
AIエージェントを現場で使う / 2025.08.07 著者陣に聞く!現場で活用するためのAIエージェント実践入門(Findyランチセッション)
smiyawaki0820
7
1.3k
Mackerel in さくらのクラウド
cubicdaiya
1
130
Amazon Bedrock AgentCoreのフロントエンドを探す旅 (Next.js編)
kmiya84377
1
160
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
150
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Rails Girls Zürich Keynote
gr2m
95
14k
It's Worth the Effort
3n
186
28k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
4 Signs Your Business is Dying
shpigford
184
22k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Music & Morning Musume
bryan
46
6.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
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