1. 程式人生 > 程式設計 >Vue實現小購物車功能

Vue實現小購物車功能

因為 C 語言並不具備自動的記憶體回收功能, 所以 Redis 在自己的物件系統中構建了一個引用計數()技術實現的記憶體回收機制, 通過這一機制, 程式可以通過跟蹤物件的引用計數資訊, 在適當的時候自動釋放物件並進行記憶體回收。

每個物件的引用計數資訊由 redisObject 結構的 refcount 屬性記錄:

typedef struct redisObject {

    // ...

    // 引用計數
    int refcount;

    // ...

} robj;

物件的引用計數資訊會隨著物件的使用狀態而不斷變化:

  • 在建立一個新物件時, 引用計數的值會被初始化為 1
     ;
  • 當物件被一個新程式使用時, 它的引用計數值會被增一;
  • 當物件不再被一個程式使用時, 它的引用計數值會被減一;
  • 當物件的引用計數值變為 0 時, 物件所佔用的記憶體會被釋放。

表 8-12 列出了修改物件引用計數的 API , 這些 API 分別用於增加、減少、重置物件的引用計數。