美文网首页
redis内存优化【转载】

redis内存优化【转载】

作者: volcano822 | 来源:发表于2017-03-03 17:10 被阅读0次

    一、一次string转化为hash的优化

    1. 场景:

    用户id: userId,

    用户微博数量:weiboCount

    2. 实现方法:

    (1) 使用Redis字符串数据结构, userId为key, weiboCount作为Value

    (2) 使用Redis哈希结构,hashkey只有一个, key="allUserWeiboCount",field=userId,fieldValue= weiboCount

    (3) 使用Redis哈希结构,  hashkey为多个, key=userId/100, field=userId%100, fieldValue= weiboCount

    3. 获取方法:

    #获取userId=5003用户的微博数

    (1) get 5003

    (2) hget allUser 5003

    (3) hget 50 3

    4. 内存占用量对比(100万用户 userId u:1~u:1000000)

    #方法一 Memory

    used_memory:118002640

    used_memory_human:112.54M

    used_memory_rss:127504384

    used_memory_peak:118002640

    used_memory_peak_human:112.54M

    used_memory_lua:36864

    mem_fragmentation_ratio:1.08

    mem_allocator:jemalloc-3.6.0

    ---------------------------------------------------

    #方法二 Memory

    used_memory:134002968

    used_memory_human:127.80M

    used_memory_rss:144261120

    used_memory_peak:134002968

    used_memory_peak_human:127.80M

    used_memory_lua:36864

    mem_fragmentation_ratio:1.08

    mem_allocator:jemalloc-3.6.0

    --------------------------------------------------------

    #方法三 Memory

    used_memory:19249088

    used_memory_human:18.36M

    used_memory_rss:26558464

    used_memory_peak:134002968

    used_memory_peak_human:127.80M

    used_memory_lua:36864

    mem_fragmentation_ratio:1.38

    mem_allocator:jemalloc-3.6.0

    三、结果对比

    redis核心对象 数据类型 + 编码方式 + ptr  分段hash也不会造成drift

    方案                            优点                              缺点

    string                  直观、容易理解             内存占用较大                                                                key值分散、                                                                 不便于计算整体

    hash                  直观、容易理解         内存占用大、 一                                                            个key占用过大内                                                            存,如果是redis-                                                     cluster会出现data drift

    segment-hash    内存占用量小          理解不够直观

    相关文章

      网友评论

          本文标题:redis内存优化【转载】

          本文链接:https://www.haomeiwen.com/subject/xbjrgttx.html