- 01 Oct, 2018 1 commit
-
-
Hamid Alaei authored
-
- 27 Sep, 2018 3 commits
- 26 Sep, 2018 1 commit
-
-
antirez authored
-
- 25 Sep, 2018 5 commits
-
-
antirez authored
-
antirez authored
-
antirez authored
Storing the context is useless, because we can't really reuse that later. For instance in the API RM_DictNext() that returns a RedisModuleString for the next key iterated, the user should pass the new context, because we may run the keys of the dictionary in a different context of the one where the dictionary was created. Also the dictionary may be created without a context, but we may still demand automatic memory management for the returned strings while iterating.
-
antirez authored
-
antirez authored
By using the "C" suffix for functions getting pointer/len, we can do the same in the future for other modules APIs that need a variant with pointer/len and that are now accepting a RedisModuleString.
-
- 24 Sep, 2018 4 commits
-
-
antirez authored
The burden of having to always create RedisModuleString objects within a module context was too much, especially now that we have threaded operations and modules are doing more interesting things. The context in the string API is currently only used for automatic memory managemnet, so now the API was modified so that the user can opt-out this feature by passing a NULL context.
-
antirez authored
-
antirez authored
-
antirez authored
-
- 21 Sep, 2018 1 commit
-
-
antirez authored
-
- 19 Sep, 2018 2 commits
- 18 Sep, 2018 3 commits
- 17 Sep, 2018 2 commits
-
-
Guy Korland authored
-
Guy Korland authored
Extended the RedisModule_HashSet doc to mark that each call must end with NULL
-
- 30 Jul, 2018 1 commit
-
-
Guy Korland authored
-
- 16 Jul, 2018 1 commit
-
-
Oran Agra authored
A) slave buffers didn't count internal fragmentation and sds unused space, this caused them to induce eviction although we didn't mean for it. B) slave buffers were consuming about twice the memory of what they actually needed. - this was mainly due to sdsMakeRoomFor growing to twice as much as needed each time but networking.c not storing more than 16k (partially fixed recently in 237a38737). - besides it wasn't able to store half of the new string into one buffer and the other half into the next (so the above mentioned fix helped mainly for small items). - lastly, the sds buffers had up to 30% internal fragmentation that was wasted, consumed but not used. C) inefficient performance due to starting from a small string and reallocing many times. what i changed: - creating dedicated buffers for reply list, counting their size with zmalloc_size - when creating a new reply node from, preallocate it to at least 16k. - when appending a new reply to the buffer, first fill all the unused space of the previous node before starting a new one. other changes: - expose mem_not_counted_for_evict info field for the benefit of the test suite - add a test to make sure slave buffers are counted correctly and that they don't cause eviction
-
- 03 Jul, 2018 1 commit
-
-
Jack Drogon authored
-
- 02 Jul, 2018 1 commit
-
-
antirez authored
-
- 21 Jun, 2018 1 commit
-
-
shenlongxing authored
-
- 19 Jun, 2018 1 commit
-
-
antirez authored
-
- 09 Jun, 2018 1 commit
-
-
Itamar Haber authored
-
- 07 Jun, 2018 1 commit
-
-
Itamar Haber authored
-
- 13 Apr, 2018 3 commits
-
-
zhaozhao.zz authored
-
antirez authored
This is useful in the reply and timeout callback, if the module wants to do some cleanup of the blocked client handle that may be stored around in the module-private data structures.
-
antirez authored
-
- 12 Apr, 2018 1 commit
-
-
antirez authored
-
- 11 Apr, 2018 3 commits
- 09 Apr, 2018 3 commits
-
-
antirez authored
Plus freeMemoryIfNeeded() refactoring to improve legibility. Please review this commit for sanity.
-
antirez authored
-
antirez authored
Note that this was an experimental API that can only be enabled with REIDSMODULE_EXPERIMENTAL_API, so it is subject to change until its promoted to stable API. Sorry for the breakage, it is trivial to resolve btw. This change will not be back ported to Redis 4.0.
-