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
390
Redis入門
Redisの概要とデータモデルについての解説、簡単なアプリを想定したデータ設計について
Kazunori-Kimura
July 13, 2017
Tweet
Share
More Decks by Kazunori-Kimura
See All by Kazunori-Kimura
path-parser
kazunorikimura
0
360
objectのcloneを行う/How to clone of the object in js
kazunorikimura
0
370
クライアントサイドで大きなデータを扱うときのお話/Web Worker & IndexedDB
kazunorikimura
0
620
How freelance programmer works
kazunorikimura
0
100
moment.js
kazunorikimura
0
74
sequelize.pdf
kazunorikimura
0
550
Toward the world of "ready player one"
kazunorikimura
0
75
npmの便利なパッケージ: forever, winser
kazunorikimura
0
950
npmの便利なパッケージ: Jest
kazunorikimura
0
120
Other Decks in Technology
See All in Technology
JavaにおけるNull非許容性
skrb
2
2.7k
【Snowflake九州ユーザー会#2】BigQueryとSnowflakeを比較してそれぞれの良し悪しを掴む / BigQuery vs Snowflake: Pros & Cons
civitaspo
4
1.4k
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
nrinetcom
PRO
2
130
貧民的プログラミングのすすめ
kakehashi
PRO
2
180
どうすると生き残れないのか/how-not-to-survive
hanhan1978
2
820
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
560
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.7k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
27
17k
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
230
RaspberryPi CM4(CM5も)面白いぞ!
nonnoise
1
180
Qiita Organizationを導入したら、アウトプッターが爆増して会社がちょっと有名になった件
minorun365
PRO
1
360
データモデルYANGの処理系を再発明した話
tjmtrhs
0
370
Featured
See All Featured
Making Projects Easy
brettharned
116
6k
Automating Front-end Workflow
addyosmani
1369
200k
The Language of Interfaces
destraynor
156
24k
A designer walks into a library…
pauljervisheath
205
24k
Product Roadmaps are Hard
iamctodd
PRO
51
11k
Visualization
eitanlees
146
15k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Rails Girls Zürich Keynote
gr2m
94
13k
Agile that works and the tools we love
rasmusluckow
328
21k
4 Signs Your Business is Dying
shpigford
183
22k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
440
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
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