zoukankan      html  css  js  c++  java
  • Redis--内存回收(引用计数法)

    http://redisbook.com/preview/object/refcount.html

    因为 C 语言并不具备自动的内存回收功能, 所以 Redis 在自己的对象系统中构建了一个引用计数(reference counting)技术实现的内存回收机制, 通过这一机制, 程序可以通过跟踪对象的引用计数信息, 在适当的时候自动释放对象并进行内存回收。

    每个对象的引用计数信息由 redisObject 结构的 refcount 属性记录:

    typedef struct redisObject {
    
        // ...
    
        // 引用计数
        int refcount;
    
        // ...
    
    } robj;

    对象的引用计数信息会随着对象的使用状态而不断变化:

    • 在创建一个新对象时, 引用计数的值会被初始化为 1 ;
    • 当对象被一个新程序使用时, 它的引用计数值会被增一;
    • 当对象不再被一个程序使用时, 它的引用计数值会被减一;
    • 当对象的引用计数值变为 0 时, 对象所占用的内存会被释放。
  • 相关阅读:
    ORM&MySQL
    Python的内存管理机制
    Docker
    MySQL数据库优化
    Django&Flask区别
    Nginx
    JWT
    云接入特别说明
    gogs私有代码库上传项目
    Authentication failed (rejected by the remote node), please check the Erlang cookie
  • 原文地址:https://www.cnblogs.com/sulishihupan/p/14536059.html
Copyright © 2011-2022 走看看