节约Instagram Redis实               Tony Deng     http://twitter.com/wolfdeng   http://friendfeed.com/tonydeng   http://delic...
Instagram 绍• Instagram   说       App         级   应                       App• Instagram            达     3亿               ...
户       储Instagram   们           张   谁                3
过图       ID        查 户UID                   应•查询•                                         EC2   high-memory               ...
库   储5
应         库   update        务   联查询    X     为                 现   维护   库                6
Redis实现   7
简单        实现Redis String结构       Key-valve   储                 8
简单         实现    Redis String结构          Key-valve   储set media:1155315 939get media:1155315>939                        8
简单             实现    Redis String结构                Key-valve     储set media:1155315 939get media:1155315>939    1155315   ...
测试结   1,000,000       69.92M300,000,000张         20.48GB               9
测试结   1,000,000           69.92M300,000,000张               20.48GB               过17GB   预                  9
办10
现   还   优       们        key   储纯       key值对        销                11
现   还   优       们          key   储纯       key值对          销经过实验                 54.66MB 总16GB    满 预                11
+                       纯 21                 20.4815.75                                  16.01  10.5      5.25            ...
还        办    13
Hash结构  14
Hash结构   单   Hash                 时进     压缩   储            节约这                        hash-zipmap-max-entries             ...
Hash结构    单      Hash                 时进     压缩   储             节约这                            hash-zipmap-max-entries经过实验...
进HSET “mediabucket:1155” “1155315” “9399”HGET “mediabucket:1155” “1155315”>”939”                        16
进HSET “mediabucket:1155” “1155315” “9399”HGET “mediabucket:1155” “1155315”>”939” 过   7     图   ID               Hash结构   k...
测试结 17
测试结1,000,000   key         13.67MB总                 4GB    满   应                   17
+                           纯3022.5               20.48     15                         16.01     7.5                      ...
还   优    吗    19
HSET “1155” “315” “939”HGET “1155” “315”>”939”           20
HSET “1155” “315” “939”    HGET “1155” “315”    >”939”Hash结构   key值变 纯              Hash    结构      key变               20
测试结 21
测试结            9.75MB总         为2.85GB     21
+                           纯3022.5              20.48     15                        16.01     7.5                        ...
还   优    吗    23
24
优    24
优    储产        时   爱         24
instagram-engineering.tumblr.com              25
Upcoming SlideShare
Loading in...5
×

节约内存:Instagram的redis实践

1,415

Published on

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,415
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
29
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 节约内存:Instagram的redis实践

    1. 1. 节约Instagram Redis实 Tony Deng http://twitter.com/wolfdeng http://friendfeed.com/tonydeng http://delicious.com/wolf.deng http://wolfchina.blogbus.com 1
    2. 2. Instagram 绍• Instagram 说 App 级 应 App• Instagram 达 3亿 2
    3. 3. 户 储Instagram 们 张 谁 3
    4. 4. 过图 ID 查 户UID 应•查询• EC2 high-memory 储(17GB 34GB 68GB 费 )• Instagram现 构 Instagram对Redis 经验• 这样 务 启 预热 4
    5. 5. 库 储5
    6. 6. 应 库 update 务 联查询 X 为 现 维护 库 6
    7. 7. Redis实现 7
    8. 8. 简单 实现Redis String结构 Key-valve 储 8
    9. 9. 简单 实现 Redis String结构 Key-valve 储set media:1155315 939get media:1155315>939 8
    10. 10. 简单 实现 Redis String结构 Key-valve 储set media:1155315 939get media:1155315>939 1155315 图 ID 939 户ID们 张图 ID 为key 户 UID为value 储 key-value对 8
    11. 11. 测试结 1,000,000 69.92M300,000,000张 20.48GB 9
    12. 12. 测试结 1,000,000 69.92M300,000,000张 20.48GB 过17GB 预 9
    13. 13. 办10
    14. 14. 现 还 优 们 key 储纯 key值对 销 11
    15. 15. 现 还 优 们 key 储纯 key值对 销经过实验 54.66MB 总16GB 满 预 11
    16. 16. + 纯 21 20.4815.75 16.01 10.5 5.25 0 string 12
    17. 17. 还 办 13
    18. 18. Hash结构 14
    19. 19. Hash结构 单 Hash 时进 压缩 储 节约这 hash-zipmap-max-entries 15
    20. 20. Hash结构 单 Hash 时进 压缩 储 节约这 hash-zipmap-max-entries经过实验 hash-zipmap-max-entries设 为1000时 较 过1000 HSET 导 CPU变 15
    21. 21. 进HSET “mediabucket:1155” “1155315” “9399”HGET “mediabucket:1155” “1155315”>”939” 16
    22. 22. 进HSET “mediabucket:1155” “1155315” “9399”HGET “mediabucket:1155” “1155315”>”939” 过 7 图 ID Hash结构 key 证 Hash 3 key 1000 16
    23. 23. 测试结 17
    24. 24. 测试结1,000,000 key 13.67MB总 4GB 满 应 17
    25. 25. + 纯3022.5 20.48 15 16.01 7.5 4.00 0 hash string 18
    26. 26. 还 优 吗 19
    27. 27. HSET “1155” “315” “939”HGET “1155” “315”>”939” 20
    28. 28. HSET “1155” “315” “939” HGET “1155” “315” >”939”Hash结构 key值变 纯 Hash 结构 key变 20
    29. 29. 测试结 21
    30. 30. 测试结 9.75MB总 为2.85GB 21
    31. 31. + 纯3022.5 20.48 15 16.01 7.5 4.00 2.85 0 hash string 22
    32. 32. 还 优 吗 23
    33. 33. 24
    34. 34. 优 24
    35. 35. 优 储产 时 爱 24
    36. 36. instagram-engineering.tumblr.com 25
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×