• chenyangyang's avatar
    Modules callbacks for lazy free effort, and unlink (#7912) · c1aaad06
    chenyangyang authored
    Add two optional callbacks to the RedisModuleTypeMethods structure, which is `free_effort`
    and `unlink`. the `free_effort` callback indicates the effort required to free a module memory.
    Currently, if the effort exceeds LAZYFREE_THRESHOLD, the module memory may be released
    asynchronously. the `unlink` callback indicates the key has been removed from the DB by redis, and
    may soon be freed by a background thread.
    
    Add `lazyfreed_objects` info field, which represents the number of objects that have been
    lazyfreed since redis was started.
    
    Add `RM_GetTypeMethodVersion` API, which return the current redis-server runtime value of
    `REDISMODULE_TYPE_METHOD_VERSION`. You can use that when calling `RM_CreateDataType` to know
    which fields of RedisModuleTypeMethods are gonna be supported and which will be ignored.
    c1aaad06
server.h 117 KB