From c1aaad06d85c89ab7abebd5cefab026bdcb086ab Mon Sep 17 00:00:00 2001 From: chenyangyang Date: Mon, 16 Nov 2020 16:34:04 +0800 Subject: Modules callbacks for lazy free effort, and unlink (#7912) 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. --- runtest-moduleapi | 1 + 1 file changed, 1 insertion(+) (limited to 'runtest-moduleapi') diff --git a/runtest-moduleapi b/runtest-moduleapi index f881dfd3f..fdf60886f 100755 --- a/runtest-moduleapi +++ b/runtest-moduleapi @@ -28,4 +28,5 @@ $TCLSH tests/test_helper.tcl \ --single unit/moduleapi/keyspace_events \ --single unit/moduleapi/blockedclient \ --single unit/moduleapi/getkeys \ +--single unit/moduleapi/test_lazyfree \ "${@}" -- cgit v1.2.1