在Redis模块内部,我们可以让Redis自动管理内存。 Redis 文档是这样说的
When automatic memory management is enabled:
- You don't need to close open keys.
- You don't need to free replies.
- You don't need to free RedisModuleString objects.
除此之外,Redis 是否也释放使用 RedisModule_Alloc() 分配的内存?或者开发人员是否必须手动释放它们?
最佳答案
由 RedisModule_Alloc()
、RedisModule_Calloc()
和 RedisModule_Realloc()
分配的内存需要由模块通过调用显式释放RedisModule_Free()
。
作为引用,请查看 native 类型的示例回调以释放类型 - https://redis.io/topics/modules-native-types#free-method
关于c - Redis 中 RedisModule_Alloc() 的自动内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47890529/