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
450
0
Share
Redis入門
Redisの概要とデータモデルについての解説、簡単なアプリを想定したデータ設計について
Kazunori-Kimura
July 13, 2017
More Decks by Kazunori-Kimura
See All by Kazunori-Kimura
path-parser
kazunorikimura
0
400
objectのcloneを行う/How to clone of the object in js
kazunorikimura
0
420
クライアントサイドで大きなデータを扱うときのお話/Web Worker & IndexedDB
kazunorikimura
0
700
How freelance programmer works
kazunorikimura
0
150
moment.js
kazunorikimura
0
120
sequelize.pdf
kazunorikimura
0
620
Toward the world of "ready player one"
kazunorikimura
0
120
npmの便利なパッケージ: forever, winser
kazunorikimura
0
1.1k
npmの便利なパッケージ: Jest
kazunorikimura
0
160
Other Decks in Technology
See All in Technology
コーディングエージェントはTypeScriptの 型エラーをどう自己修正しているのか
melonps
4
500
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
160
Anthropic AIネイティブ・スタートアップ構築のプレイブック を理解する
nagatsu
0
190
ルール・ロール・ツールを創る / Creating Rules, Roles and Tools
ks91
PRO
0
170
TypeScript の型で副作用の実行順序を制御する
yanaemon
2
210
LLM時代のリファクタリング戦略_AIエージェントによる段階的・安全なTS移行方法
play_inc
0
190
Python開発環境にハーネス適用を検討する
yuuka51
1
520
さきさん文庫の書籍ができるまで
sakiengineer
0
190
TSKaigi 2026 - enumよ、さようなら
teamlab
PRO
3
560
管理アカウント単一運用からAWS Organizationsに移行するの大変で滅
hiramax
0
250
「使われるデータ基盤」を目指してデータアナリストとワークショップをやった話
jackojacko_
2
870
Splunk MCPサーバの利活用事例 ーKINTOテクノロジーズの取り組み
kintotechdev
1
320
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
310
Balancing Empowerment & Direction
lara
6
1.1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
370
Designing Experiences People Love
moore
143
24k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
570
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Embracing the Ebb and Flow
colly
88
5k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
340
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
300
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