zoukankan      html  css  js  c++  java
  • [转]优化Redis内存的9个要点

    原文:http://blog.csdn.net/yangzhenping/article/details/44564307

    1.注意在redis.conf中的小聚合数据类型的特殊编码设置:
     
    
    hash-max-zipmap-entries 64 (hash-max-ziplist-entries for Redis >= 2.6)
    hash-max-zipmap-value 512  (hash-max-ziplist-value for Redis >= 2.6)
    list-max-ziplist-entries 512
    list-max-ziplist-value 64
    zset-max-ziplist-entries 128
    zset-max-ziplist-value 64
    set-max-intset-entries 512
    
     
    
    2.使用32位实例将内存受限在4G内,不过他们的RDB和AOF文件是兼容在32位和64位下去切换使用的。
    
    3。使用bit位级别操作和byte字节级别操作来减少不必要的内存使用
    
    bit位级别操作:GETRANGE, SETRANGE, GETBIT and SETBIT
    byte字节级别操作:GETRANGE and SETRANGE
    
    
    4.尽可能地使用hashes哈希,因为小Hashes会被编码成一个非常小的空间。
    
    5.使用哈希来在Redis的顶部在普通key-value存储上来抽象内存使用效率
    
    6.关于内存分配:
    
    如果maxmemory没有设置的Redis会继续分配内存,因为它认为合适的,因此它可以(逐渐)吃了你的全部可用内存。因此,通常建议配置一些限制。您可能还需要设置maxmemory策略,以noeviction(这不是在一些旧版本的Redis的默认值)。
    
    这使得Redis的返回内存不足的错误写命令,如果当它到达了极限 - 这反过来可能会导致应用程序错误,但不会导致因为内存饥饿而整机死亡。
    
    另外redis 的6种过期策略redis 中的默认的过期策略是volatile-lru 。设置方式
      config set maxmemory-policy volatile-lru
      maxmemory-policy 六种方式
      volatile-lru:只对设置了过期时间的key进行LRU(默认值)
      allkeys-lru : 是从所有key里 删除 不经常使用的key
      volatile-random:随机删除即将过期key
      allkeys-random:随机删除
      volatile-ttl : 删除即将过期的
      noeviction : 永不过期,返回错误
      maxmemory-samples 3 是说每次进行淘汰的时候 会随机抽取3个key 从里面淘汰最不经常使用的(默认选项)
    
     7. 在存到Redis之前先把你的数据压缩下
     
    
    8.尽量使用短的键(Keys)
     
    
    9.使用Hashes值存储而不带额外的数据元
     
    参考:
    http://redis.io/topics/memory-optimization
    http://baike.baidu.com/link?url=eb4_JlCybpp1AuRHHBd8GmZdftrAUa-FSc_Y6hFujHejnGb_AHLxteQRacXonNYoaJmbigEyb3yBe_z67gzI9a 
    
    http://labs.octivi.com/how-we-cut-down-memory-usage-by-82/
    

      

  • 相关阅读:
    JS高阶---继承模式(原型链继承)
    一切皆数据,人生需学习
    操作系统升级
    看了跨年演讲后
    新的开始
    怎么做一名高薪前端工程师,必备哪些技术工具?
    web服务器 Nginx
    实用的软件架构方法
    购买网络自动化工具时应考虑的7个方面
    ES6 展开操作符的几个妙用
  • 原文地址:https://www.cnblogs.com/maizhongfei/p/5435007.html
Copyright © 2011-2022 走看看