gitextract_z3mis2y8/ ├── .codespell/ │ ├── .codespellrc │ ├── requirements.txt │ └── wordlist.txt ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── crash_report.md │ │ ├── feature_request.md │ │ ├── other_stuff.md │ │ └── question.md │ ├── dependabot.yml │ └── workflows/ │ ├── ci.yml │ ├── codecov.yml │ ├── codeql-analysis.yml │ ├── coverity.yml │ ├── daily.yml │ ├── external.yml │ ├── post-release-automation.yml │ ├── redis_docs_sync.yaml │ ├── reply-schemas-linter.yml │ └── spell-check.yml ├── .gitignore ├── 00-RELEASENOTES ├── BUGS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── INSTALL ├── LICENSE.txt ├── MANIFESTO ├── Makefile ├── README.md ├── REDISCONTRIBUTIONS.txt ├── SECURITY.md ├── TLS.md ├── codecov.yml ├── deps/ │ ├── Makefile │ ├── README.md │ ├── fpconv/ │ │ ├── LICENSE.txt │ │ ├── Makefile │ │ ├── README.md │ │ ├── fpconv_dtoa.c │ │ ├── fpconv_dtoa.h │ │ └── fpconv_powers.h │ ├── hdr_histogram/ │ │ ├── COPYING.txt │ │ ├── LICENSE.txt │ │ ├── Makefile │ │ ├── README.md │ │ ├── hdr_atomic.h │ │ ├── hdr_histogram.c │ │ ├── hdr_histogram.h │ │ ├── hdr_redis_malloc.h │ │ └── hdr_tests.h │ ├── hiredis/ │ │ ├── .github/ │ │ │ ├── release-drafter-config.yml │ │ │ └── workflows/ │ │ │ ├── build.yml │ │ │ ├── release-drafter.yml │ │ │ └── test.yml │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── CHANGELOG.md │ │ ├── CMakeLists.txt │ │ ├── COPYING │ │ ├── Makefile │ │ ├── README.md │ │ ├── adapters/ │ │ │ ├── ae.h │ │ │ ├── glib.h │ │ │ ├── ivykis.h │ │ │ ├── libev.h │ │ │ ├── libevent.h │ │ │ ├── libhv.h │ │ │ ├── libsdevent.h │ │ │ ├── libuv.h │ │ │ ├── macosx.h │ │ │ ├── poll.h │ │ │ ├── qt.h │ │ │ └── redismoduleapi.h │ │ ├── alloc.c │ │ ├── alloc.h │ │ ├── appveyor.yml │ │ ├── async.c │ │ ├── async.h │ │ ├── async_private.h │ │ ├── dict.c │ │ ├── dict.h │ │ ├── examples/ │ │ │ ├── CMakeLists.txt │ │ │ ├── example-ae.c │ │ │ ├── example-glib.c │ │ │ ├── example-ivykis.c │ │ │ ├── example-libev.c │ │ │ ├── example-libevent-ssl.c │ │ │ ├── example-libevent.c │ │ │ ├── example-libhv.c │ │ │ ├── example-libsdevent.c │ │ │ ├── example-libuv.c │ │ │ ├── example-macosx.c │ │ │ ├── example-poll.c │ │ │ ├── example-push.c │ │ │ ├── example-qt.cpp │ │ │ ├── example-qt.h │ │ │ ├── example-redismoduleapi.c │ │ │ ├── example-ssl.c │ │ │ └── example.c │ │ ├── fmacros.h │ │ ├── fuzzing/ │ │ │ └── format_command_fuzzer.c │ │ ├── hiredis-config.cmake.in │ │ ├── hiredis.c │ │ ├── hiredis.h │ │ ├── hiredis.pc.in │ │ ├── hiredis.targets │ │ ├── hiredis_ssl-config.cmake.in │ │ ├── hiredis_ssl.h │ │ ├── hiredis_ssl.pc.in │ │ ├── net.c │ │ ├── net.h │ │ ├── read.c │ │ ├── read.h │ │ ├── sds.c │ │ ├── sds.h │ │ ├── sdsalloc.h │ │ ├── sdscompat.h │ │ ├── sockcompat.c │ │ ├── sockcompat.h │ │ ├── ssl.c │ │ ├── test.c │ │ ├── test.sh │ │ └── win32.h │ ├── jemalloc/ │ │ ├── .appveyor.yml │ │ ├── .autom4te.cfg │ │ ├── .cirrus.yml │ │ ├── .clang-format │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── COPYING │ │ ├── ChangeLog │ │ ├── INSTALL.md │ │ ├── Makefile.in │ │ ├── README │ │ ├── TUNING.md │ │ ├── VERSION │ │ ├── autogen.sh │ │ ├── bin/ │ │ │ ├── jemalloc-config.in │ │ │ ├── jemalloc.sh.in │ │ │ └── jeprof.in │ │ ├── build-aux/ │ │ │ ├── config.guess │ │ │ ├── config.sub │ │ │ └── install-sh │ │ ├── config.stamp.in │ │ ├── configure │ │ ├── configure.ac │ │ ├── doc/ │ │ │ ├── html.xsl.in │ │ │ ├── jemalloc.xml.in │ │ │ ├── manpages.xsl.in │ │ │ └── stylesheet.xsl │ │ ├── doc_internal/ │ │ │ └── PROFILING_INTERNALS.md │ │ ├── include/ │ │ │ ├── jemalloc/ │ │ │ │ ├── internal/ │ │ │ │ │ ├── activity_callback.h │ │ │ │ │ ├── arena_externs.h │ │ │ │ │ ├── arena_inlines_a.h │ │ │ │ │ ├── arena_inlines_b.h │ │ │ │ │ ├── arena_stats.h │ │ │ │ │ ├── arena_structs.h │ │ │ │ │ ├── arena_types.h │ │ │ │ │ ├── assert.h │ │ │ │ │ ├── atomic.h │ │ │ │ │ ├── atomic_c11.h │ │ │ │ │ ├── atomic_gcc_atomic.h │ │ │ │ │ ├── atomic_gcc_sync.h │ │ │ │ │ ├── atomic_msvc.h │ │ │ │ │ ├── background_thread_externs.h │ │ │ │ │ ├── background_thread_inlines.h │ │ │ │ │ ├── background_thread_structs.h │ │ │ │ │ ├── base.h │ │ │ │ │ ├── bin.h │ │ │ │ │ ├── bin_info.h │ │ │ │ │ ├── bin_stats.h │ │ │ │ │ ├── bin_types.h │ │ │ │ │ ├── bit_util.h │ │ │ │ │ ├── bitmap.h │ │ │ │ │ ├── buf_writer.h │ │ │ │ │ ├── cache_bin.h │ │ │ │ │ ├── ckh.h │ │ │ │ │ ├── counter.h │ │ │ │ │ ├── ctl.h │ │ │ │ │ ├── decay.h │ │ │ │ │ ├── div.h │ │ │ │ │ ├── ecache.h │ │ │ │ │ ├── edata.h │ │ │ │ │ ├── edata_cache.h │ │ │ │ │ ├── ehooks.h │ │ │ │ │ ├── emap.h │ │ │ │ │ ├── emitter.h │ │ │ │ │ ├── eset.h │ │ │ │ │ ├── exp_grow.h │ │ │ │ │ ├── extent.h │ │ │ │ │ ├── extent_dss.h │ │ │ │ │ ├── extent_mmap.h │ │ │ │ │ ├── fb.h │ │ │ │ │ ├── fxp.h │ │ │ │ │ ├── hash.h │ │ │ │ │ ├── hook.h │ │ │ │ │ ├── hpa.h │ │ │ │ │ ├── hpa_hooks.h │ │ │ │ │ ├── hpa_opts.h │ │ │ │ │ ├── hpdata.h │ │ │ │ │ ├── inspect.h │ │ │ │ │ ├── jemalloc_internal_decls.h │ │ │ │ │ ├── jemalloc_internal_defs.h.in │ │ │ │ │ ├── jemalloc_internal_externs.h │ │ │ │ │ ├── jemalloc_internal_includes.h │ │ │ │ │ ├── jemalloc_internal_inlines_a.h │ │ │ │ │ ├── jemalloc_internal_inlines_b.h │ │ │ │ │ ├── jemalloc_internal_inlines_c.h │ │ │ │ │ ├── jemalloc_internal_macros.h │ │ │ │ │ ├── jemalloc_internal_types.h │ │ │ │ │ ├── jemalloc_preamble.h.in │ │ │ │ │ ├── large_externs.h │ │ │ │ │ ├── lockedint.h │ │ │ │ │ ├── log.h │ │ │ │ │ ├── malloc_io.h │ │ │ │ │ ├── mpsc_queue.h │ │ │ │ │ ├── mutex.h │ │ │ │ │ ├── mutex_prof.h │ │ │ │ │ ├── nstime.h │ │ │ │ │ ├── pa.h │ │ │ │ │ ├── pac.h │ │ │ │ │ ├── pages.h │ │ │ │ │ ├── pai.h │ │ │ │ │ ├── peak.h │ │ │ │ │ ├── peak_event.h │ │ │ │ │ ├── ph.h │ │ │ │ │ ├── private_namespace.sh │ │ │ │ │ ├── private_symbols.sh │ │ │ │ │ ├── prng.h │ │ │ │ │ ├── prof_data.h │ │ │ │ │ ├── prof_externs.h │ │ │ │ │ ├── prof_hook.h │ │ │ │ │ ├── prof_inlines.h │ │ │ │ │ ├── prof_log.h │ │ │ │ │ ├── prof_recent.h │ │ │ │ │ ├── prof_stats.h │ │ │ │ │ ├── prof_structs.h │ │ │ │ │ ├── prof_sys.h │ │ │ │ │ ├── prof_types.h │ │ │ │ │ ├── psset.h │ │ │ │ │ ├── public_namespace.sh │ │ │ │ │ ├── public_unnamespace.sh │ │ │ │ │ ├── ql.h │ │ │ │ │ ├── qr.h │ │ │ │ │ ├── quantum.h │ │ │ │ │ ├── rb.h │ │ │ │ │ ├── rtree.h │ │ │ │ │ ├── rtree_tsd.h │ │ │ │ │ ├── safety_check.h │ │ │ │ │ ├── san.h │ │ │ │ │ ├── san_bump.h │ │ │ │ │ ├── sc.h │ │ │ │ │ ├── sec.h │ │ │ │ │ ├── sec_opts.h │ │ │ │ │ ├── seq.h │ │ │ │ │ ├── slab_data.h │ │ │ │ │ ├── smoothstep.h │ │ │ │ │ ├── smoothstep.sh │ │ │ │ │ ├── spin.h │ │ │ │ │ ├── stats.h │ │ │ │ │ ├── sz.h │ │ │ │ │ ├── tcache_externs.h │ │ │ │ │ ├── tcache_inlines.h │ │ │ │ │ ├── tcache_structs.h │ │ │ │ │ ├── tcache_types.h │ │ │ │ │ ├── test_hooks.h │ │ │ │ │ ├── thread_event.h │ │ │ │ │ ├── ticker.h │ │ │ │ │ ├── tsd.h │ │ │ │ │ ├── tsd_generic.h │ │ │ │ │ ├── tsd_malloc_thread_cleanup.h │ │ │ │ │ ├── tsd_tls.h │ │ │ │ │ ├── tsd_types.h │ │ │ │ │ ├── tsd_win.h │ │ │ │ │ ├── typed_list.h │ │ │ │ │ ├── util.h │ │ │ │ │ └── witness.h │ │ │ │ ├── jemalloc.sh │ │ │ │ ├── jemalloc_defs.h.in │ │ │ │ ├── jemalloc_macros.h.in │ │ │ │ ├── jemalloc_mangle.sh │ │ │ │ ├── jemalloc_protos.h.in │ │ │ │ ├── jemalloc_rename.sh │ │ │ │ └── jemalloc_typedefs.h.in │ │ │ └── msvc_compat/ │ │ │ ├── C99/ │ │ │ │ ├── stdbool.h │ │ │ │ └── stdint.h │ │ │ ├── strings.h │ │ │ └── windows_extra.h │ │ ├── jemalloc.pc.in │ │ ├── m4/ │ │ │ └── ax_cxx_compile_stdcxx.m4 │ │ ├── msvc/ │ │ │ ├── ReadMe.txt │ │ │ ├── jemalloc_vc2015.sln │ │ │ ├── jemalloc_vc2017.sln │ │ │ ├── projects/ │ │ │ │ ├── vc2015/ │ │ │ │ │ ├── jemalloc/ │ │ │ │ │ │ ├── jemalloc.vcxproj │ │ │ │ │ │ └── jemalloc.vcxproj.filters │ │ │ │ │ └── test_threads/ │ │ │ │ │ ├── test_threads.vcxproj │ │ │ │ │ └── test_threads.vcxproj.filters │ │ │ │ └── vc2017/ │ │ │ │ ├── jemalloc/ │ │ │ │ │ ├── jemalloc.vcxproj │ │ │ │ │ └── jemalloc.vcxproj.filters │ │ │ │ └── test_threads/ │ │ │ │ ├── test_threads.vcxproj │ │ │ │ └── test_threads.vcxproj.filters │ │ │ └── test_threads/ │ │ │ ├── test_threads.cpp │ │ │ ├── test_threads.h │ │ │ └── test_threads_main.cpp │ │ ├── run_tests.sh │ │ ├── scripts/ │ │ │ ├── check-formatting.sh │ │ │ ├── freebsd/ │ │ │ │ ├── before_install.sh │ │ │ │ ├── before_script.sh │ │ │ │ └── script.sh │ │ │ ├── gen_run_tests.py │ │ │ ├── gen_travis.py │ │ │ ├── linux/ │ │ │ │ └── before_install.sh │ │ │ └── windows/ │ │ │ ├── before_install.sh │ │ │ ├── before_script.sh │ │ │ └── script.sh │ │ ├── src/ │ │ │ ├── arena.c │ │ │ ├── background_thread.c │ │ │ ├── base.c │ │ │ ├── bin.c │ │ │ ├── bin_info.c │ │ │ ├── bitmap.c │ │ │ ├── buf_writer.c │ │ │ ├── cache_bin.c │ │ │ ├── ckh.c │ │ │ ├── counter.c │ │ │ ├── ctl.c │ │ │ ├── decay.c │ │ │ ├── div.c │ │ │ ├── ecache.c │ │ │ ├── edata.c │ │ │ ├── edata_cache.c │ │ │ ├── ehooks.c │ │ │ ├── emap.c │ │ │ ├── eset.c │ │ │ ├── exp_grow.c │ │ │ ├── extent.c │ │ │ ├── extent_dss.c │ │ │ ├── extent_mmap.c │ │ │ ├── fxp.c │ │ │ ├── hook.c │ │ │ ├── hpa.c │ │ │ ├── hpa_hooks.c │ │ │ ├── hpdata.c │ │ │ ├── inspect.c │ │ │ ├── jemalloc.c │ │ │ ├── jemalloc_cpp.cpp │ │ │ ├── large.c │ │ │ ├── log.c │ │ │ ├── malloc_io.c │ │ │ ├── mutex.c │ │ │ ├── nstime.c │ │ │ ├── pa.c │ │ │ ├── pa_extra.c │ │ │ ├── pac.c │ │ │ ├── pages.c │ │ │ ├── pai.c │ │ │ ├── peak_event.c │ │ │ ├── prof.c │ │ │ ├── prof_data.c │ │ │ ├── prof_log.c │ │ │ ├── prof_recent.c │ │ │ ├── prof_stats.c │ │ │ ├── prof_sys.c │ │ │ ├── psset.c │ │ │ ├── rtree.c │ │ │ ├── safety_check.c │ │ │ ├── san.c │ │ │ ├── san_bump.c │ │ │ ├── sc.c │ │ │ ├── sec.c │ │ │ ├── stats.c │ │ │ ├── sz.c │ │ │ ├── tcache.c │ │ │ ├── test_hooks.c │ │ │ ├── thread_event.c │ │ │ ├── ticker.c │ │ │ ├── ticker.py │ │ │ ├── tsd.c │ │ │ ├── witness.c │ │ │ └── zone.c │ │ └── test/ │ │ ├── analyze/ │ │ │ ├── prof_bias.c │ │ │ ├── rand.c │ │ │ └── sizes.c │ │ ├── include/ │ │ │ └── test/ │ │ │ ├── SFMT-alti.h │ │ │ ├── SFMT-params.h │ │ │ ├── SFMT-params11213.h │ │ │ ├── SFMT-params1279.h │ │ │ ├── SFMT-params132049.h │ │ │ ├── SFMT-params19937.h │ │ │ ├── SFMT-params216091.h │ │ │ ├── SFMT-params2281.h │ │ │ ├── SFMT-params4253.h │ │ │ ├── SFMT-params44497.h │ │ │ ├── SFMT-params607.h │ │ │ ├── SFMT-params86243.h │ │ │ ├── SFMT-sse2.h │ │ │ ├── SFMT.h │ │ │ ├── arena_util.h │ │ │ ├── bench.h │ │ │ ├── bgthd.h │ │ │ ├── btalloc.h │ │ │ ├── extent_hooks.h │ │ │ ├── jemalloc_test.h.in │ │ │ ├── jemalloc_test_defs.h.in │ │ │ ├── math.h │ │ │ ├── mq.h │ │ │ ├── mtx.h │ │ │ ├── nbits.h │ │ │ ├── san.h │ │ │ ├── sleep.h │ │ │ ├── test.h │ │ │ ├── thd.h │ │ │ └── timer.h │ │ ├── integration/ │ │ │ ├── MALLOCX_ARENA.c │ │ │ ├── aligned_alloc.c │ │ │ ├── allocated.c │ │ │ ├── cpp/ │ │ │ │ ├── basic.cpp │ │ │ │ ├── infallible_new_false.cpp │ │ │ │ ├── infallible_new_false.sh │ │ │ │ ├── infallible_new_true.cpp │ │ │ │ └── infallible_new_true.sh │ │ │ ├── extent.c │ │ │ ├── extent.sh │ │ │ ├── malloc.c │ │ │ ├── mallocx.c │ │ │ ├── mallocx.sh │ │ │ ├── overflow.c │ │ │ ├── posix_memalign.c │ │ │ ├── rallocx.c │ │ │ ├── sdallocx.c │ │ │ ├── slab_sizes.c │ │ │ ├── slab_sizes.sh │ │ │ ├── smallocx.c │ │ │ ├── smallocx.sh │ │ │ ├── thread_arena.c │ │ │ ├── thread_tcache_enabled.c │ │ │ ├── xallocx.c │ │ │ └── xallocx.sh │ │ ├── src/ │ │ │ ├── SFMT.c │ │ │ ├── btalloc.c │ │ │ ├── btalloc_0.c │ │ │ ├── btalloc_1.c │ │ │ ├── math.c │ │ │ ├── mtx.c │ │ │ ├── sleep.c │ │ │ ├── test.c │ │ │ ├── thd.c │ │ │ └── timer.c │ │ ├── stress/ │ │ │ ├── batch_alloc.c │ │ │ ├── fill_flush.c │ │ │ ├── hookbench.c │ │ │ ├── large_microbench.c │ │ │ ├── mallctl.c │ │ │ └── microbench.c │ │ ├── test.sh.in │ │ └── unit/ │ │ ├── SFMT.c │ │ ├── a0.c │ │ ├── arena_decay.c │ │ ├── arena_decay.sh │ │ ├── arena_reset.c │ │ ├── arena_reset_prof.c │ │ ├── arena_reset_prof.sh │ │ ├── atomic.c │ │ ├── background_thread.c │ │ ├── background_thread_enable.c │ │ ├── base.c │ │ ├── batch_alloc.c │ │ ├── batch_alloc.sh │ │ ├── batch_alloc_prof.c │ │ ├── batch_alloc_prof.sh │ │ ├── binshard.c │ │ ├── binshard.sh │ │ ├── bit_util.c │ │ ├── bitmap.c │ │ ├── buf_writer.c │ │ ├── cache_bin.c │ │ ├── ckh.c │ │ ├── counter.c │ │ ├── decay.c │ │ ├── div.c │ │ ├── double_free.c │ │ ├── double_free.h │ │ ├── edata_cache.c │ │ ├── emitter.c │ │ ├── extent_quantize.c │ │ ├── fb.c │ │ ├── fork.c │ │ ├── fxp.c │ │ ├── hash.c │ │ ├── hook.c │ │ ├── hpa.c │ │ ├── hpa_background_thread.c │ │ ├── hpa_background_thread.sh │ │ ├── hpdata.c │ │ ├── huge.c │ │ ├── inspect.c │ │ ├── inspect.sh │ │ ├── junk.c │ │ ├── junk.sh │ │ ├── junk_alloc.c │ │ ├── junk_alloc.sh │ │ ├── junk_free.c │ │ ├── junk_free.sh │ │ ├── log.c │ │ ├── mallctl.c │ │ ├── malloc_conf_2.c │ │ ├── malloc_conf_2.sh │ │ ├── malloc_io.c │ │ ├── math.c │ │ ├── mpsc_queue.c │ │ ├── mq.c │ │ ├── mtx.c │ │ ├── nstime.c │ │ ├── oversize_threshold.c │ │ ├── pa.c │ │ ├── pack.c │ │ ├── pack.sh │ │ ├── pages.c │ │ ├── peak.c │ │ ├── ph.c │ │ ├── prng.c │ │ ├── prof_accum.c │ │ ├── prof_accum.sh │ │ ├── prof_active.c │ │ ├── prof_active.sh │ │ ├── prof_gdump.c │ │ ├── prof_gdump.sh │ │ ├── prof_hook.c │ │ ├── prof_hook.sh │ │ ├── prof_idump.c │ │ ├── prof_idump.sh │ │ ├── prof_log.c │ │ ├── prof_log.sh │ │ ├── prof_mdump.c │ │ ├── prof_mdump.sh │ │ ├── prof_recent.c │ │ ├── prof_recent.sh │ │ ├── prof_reset.c │ │ ├── prof_reset.sh │ │ ├── prof_stats.c │ │ ├── prof_stats.sh │ │ ├── prof_sys_thread_name.c │ │ ├── prof_sys_thread_name.sh │ │ ├── prof_tctx.c │ │ ├── prof_tctx.sh │ │ ├── prof_thread_name.c │ │ ├── prof_thread_name.sh │ │ ├── psset.c │ │ ├── ql.c │ │ ├── qr.c │ │ ├── rb.c │ │ ├── retained.c │ │ ├── rtree.c │ │ ├── safety_check.c │ │ ├── safety_check.sh │ │ ├── san.c │ │ ├── san.sh │ │ ├── san_bump.c │ │ ├── sc.c │ │ ├── sec.c │ │ ├── seq.c │ │ ├── size_check.c │ │ ├── size_check.sh │ │ ├── size_classes.c │ │ ├── slab.c │ │ ├── smoothstep.c │ │ ├── spin.c │ │ ├── stats.c │ │ ├── stats_print.c │ │ ├── sz.c │ │ ├── tcache_max.c │ │ ├── tcache_max.sh │ │ ├── test_hooks.c │ │ ├── thread_event.c │ │ ├── thread_event.sh │ │ ├── ticker.c │ │ ├── tsd.c │ │ ├── uaf.c │ │ ├── witness.c │ │ ├── zero.c │ │ ├── zero.sh │ │ ├── zero_realloc_abort.c │ │ ├── zero_realloc_abort.sh │ │ ├── zero_realloc_alloc.c │ │ ├── zero_realloc_alloc.sh │ │ ├── zero_realloc_free.c │ │ ├── zero_realloc_free.sh │ │ ├── zero_reallocs.c │ │ └── zero_reallocs.sh │ ├── linenoise/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── README.markdown │ │ ├── example.c │ │ ├── linenoise.c │ │ └── linenoise.h │ ├── lua/ │ │ ├── COPYRIGHT │ │ ├── HISTORY │ │ ├── INSTALL │ │ ├── Makefile │ │ ├── README │ │ ├── doc/ │ │ │ ├── contents.html │ │ │ ├── lua.1 │ │ │ ├── lua.css │ │ │ ├── lua.html │ │ │ ├── luac.1 │ │ │ ├── luac.html │ │ │ ├── manual.css │ │ │ ├── manual.html │ │ │ └── readme.html │ │ ├── etc/ │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── all.c │ │ │ ├── lua.hpp │ │ │ ├── lua.pc │ │ │ ├── luavs.bat │ │ │ ├── min.c │ │ │ ├── noparser.c │ │ │ └── strict.lua │ │ ├── src/ │ │ │ ├── Makefile │ │ │ ├── fpconv.c │ │ │ ├── fpconv.h │ │ │ ├── lapi.c │ │ │ ├── lapi.h │ │ │ ├── lauxlib.c │ │ │ ├── lauxlib.h │ │ │ ├── lbaselib.c │ │ │ ├── lcode.c │ │ │ ├── lcode.h │ │ │ ├── ldblib.c │ │ │ ├── ldebug.c │ │ │ ├── ldebug.h │ │ │ ├── ldo.c │ │ │ ├── ldo.h │ │ │ ├── ldump.c │ │ │ ├── lfunc.c │ │ │ ├── lfunc.h │ │ │ ├── lgc.c │ │ │ ├── lgc.h │ │ │ ├── linit.c │ │ │ ├── liolib.c │ │ │ ├── llex.c │ │ │ ├── llex.h │ │ │ ├── llimits.h │ │ │ ├── lmathlib.c │ │ │ ├── lmem.c │ │ │ ├── lmem.h │ │ │ ├── loadlib.c │ │ │ ├── lobject.c │ │ │ ├── lobject.h │ │ │ ├── lopcodes.c │ │ │ ├── lopcodes.h │ │ │ ├── loslib.c │ │ │ ├── lparser.c │ │ │ ├── lparser.h │ │ │ ├── lstate.c │ │ │ ├── lstate.h │ │ │ ├── lstring.c │ │ │ ├── lstring.h │ │ │ ├── lstrlib.c │ │ │ ├── ltable.c │ │ │ ├── ltable.h │ │ │ ├── ltablib.c │ │ │ ├── ltm.c │ │ │ ├── ltm.h │ │ │ ├── lua.c │ │ │ ├── lua.h │ │ │ ├── lua_bit.c │ │ │ ├── lua_cjson.c │ │ │ ├── lua_cmsgpack.c │ │ │ ├── lua_struct.c │ │ │ ├── luac.c │ │ │ ├── luaconf.h │ │ │ ├── lualib.h │ │ │ ├── lundump.c │ │ │ ├── lundump.h │ │ │ ├── lvm.c │ │ │ ├── lvm.h │ │ │ ├── lzio.c │ │ │ ├── lzio.h │ │ │ ├── print.c │ │ │ ├── strbuf.c │ │ │ └── strbuf.h │ │ └── test/ │ │ ├── README │ │ ├── bisect.lua │ │ ├── cf.lua │ │ ├── echo.lua │ │ ├── env.lua │ │ ├── factorial.lua │ │ ├── fib.lua │ │ ├── fibfor.lua │ │ ├── globals.lua │ │ ├── hello.lua │ │ ├── life.lua │ │ ├── luac.lua │ │ ├── printf.lua │ │ ├── readonly.lua │ │ ├── sieve.lua │ │ ├── sort.lua │ │ ├── table.lua │ │ ├── trace-calls.lua │ │ ├── trace-globals.lua │ │ └── xd.lua │ └── xxhash/ │ ├── .gitignore │ ├── LICENSE │ ├── Makefile │ ├── build/ │ │ └── make/ │ │ ├── README.md │ │ └── multiconf.make │ ├── xxhash.c │ └── xxhash.h ├── modules/ │ ├── Makefile │ ├── common.mk │ ├── redisbloom/ │ │ └── Makefile │ ├── redisearch/ │ │ └── Makefile │ ├── redisjson/ │ │ └── Makefile │ ├── redistimeseries/ │ │ └── Makefile │ └── vector-sets/ │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── commands.json │ ├── examples/ │ │ ├── cli-tool/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ └── cli.py │ │ ├── glove-100/ │ │ │ ├── README │ │ │ ├── insert.py │ │ │ └── recall.py │ │ └── movies/ │ │ ├── .gitignore │ │ ├── README │ │ └── insert.py │ ├── expr.c │ ├── fastjson.c │ ├── fastjson_test.c │ ├── hnsw.c │ ├── hnsw.h │ ├── mixer.h │ ├── test.py │ ├── tests/ │ │ ├── basic_commands.py │ │ ├── basic_similarity.py │ │ ├── bin_vectorization.py │ │ ├── concurrent_vadd_cas_del_vsim.py │ │ ├── concurrent_vsim_and_del.py │ │ ├── debug_digest.py │ │ ├── deletion.py │ │ ├── dimension_validation.py │ │ ├── epsilon.py │ │ ├── evict_empty.py │ │ ├── filter_expr.py │ │ ├── filter_int.py │ │ ├── large_scale.py │ │ ├── memory_usage.py │ │ ├── node_update.py │ │ ├── persistence.py │ │ ├── q8_similarity.py │ │ ├── q8_vectorization.py │ │ ├── reduce.py │ │ ├── replication.py │ │ ├── threading_config.py │ │ ├── vadd_cas.py │ │ ├── vemb.py │ │ ├── vismember.py │ │ ├── vrand-ping-pong.py │ │ ├── vrandmember.py │ │ ├── vrange.py │ │ ├── vsim_duplicate_filter.py │ │ ├── vsim_filter_error_leak.py │ │ ├── vsim_limit_efsearch.py │ │ └── with.py │ ├── vset.c │ ├── vset_config.c │ ├── vset_config.h │ └── w2v.c ├── redis-full.conf ├── redis.conf ├── runtest ├── runtest-cluster ├── runtest-moduleapi ├── runtest-sentinel ├── sentinel.conf ├── src/ │ ├── .gitignore │ ├── Makefile │ ├── acl.c │ ├── adlist.c │ ├── adlist.h │ ├── ae.c │ ├── ae.h │ ├── ae_epoll.c │ ├── ae_evport.c │ ├── ae_kqueue.c │ ├── ae_select.c │ ├── anet.c │ ├── anet.h │ ├── aof.c │ ├── asciilogo.h │ ├── atomicvar.h │ ├── bio.c │ ├── bio.h │ ├── bitops.c │ ├── blocked.c │ ├── call_reply.c │ ├── call_reply.h │ ├── childinfo.c │ ├── chk.c │ ├── chk.h │ ├── cli_commands.c │ ├── cli_commands.h │ ├── cli_common.c │ ├── cli_common.h │ ├── cluster.c │ ├── cluster.h │ ├── cluster_asm.c │ ├── cluster_asm.h │ ├── cluster_legacy.c │ ├── cluster_legacy.h │ ├── cluster_slot_stats.c │ ├── cluster_slot_stats.h │ ├── commands/ │ │ ├── README.md │ │ ├── acl-cat.json │ │ ├── acl-deluser.json │ │ ├── acl-dryrun.json │ │ ├── acl-genpass.json │ │ ├── acl-getuser.json │ │ ├── acl-help.json │ │ ├── acl-list.json │ │ ├── acl-load.json │ │ ├── acl-log.json │ │ ├── acl-save.json │ │ ├── acl-setuser.json │ │ ├── acl-users.json │ │ ├── acl-whoami.json │ │ ├── acl.json │ │ ├── append.json │ │ ├── asking.json │ │ ├── auth.json │ │ ├── bgrewriteaof.json │ │ ├── bgsave.json │ │ ├── bitcount.json │ │ ├── bitfield.json │ │ ├── bitfield_ro.json │ │ ├── bitop.json │ │ ├── bitpos.json │ │ ├── blmove.json │ │ ├── blmpop.json │ │ ├── blpop.json │ │ ├── brpop.json │ │ ├── brpoplpush.json │ │ ├── bzmpop.json │ │ ├── bzpopmax.json │ │ ├── bzpopmin.json │ │ ├── client-caching.json │ │ ├── client-getname.json │ │ ├── client-getredir.json │ │ ├── client-help.json │ │ ├── client-id.json │ │ ├── client-info.json │ │ ├── client-kill.json │ │ ├── client-list.json │ │ ├── client-no-evict.json │ │ ├── client-no-touch.json │ │ ├── client-pause.json │ │ ├── client-reply.json │ │ ├── client-setinfo.json │ │ ├── client-setname.json │ │ ├── client-tracking.json │ │ ├── client-trackinginfo.json │ │ ├── client-unblock.json │ │ ├── client-unpause.json │ │ ├── client.json │ │ ├── cluster-addslots.json │ │ ├── cluster-addslotsrange.json │ │ ├── cluster-bumpepoch.json │ │ ├── cluster-count-failure-reports.json │ │ ├── cluster-countkeysinslot.json │ │ ├── cluster-delslots.json │ │ ├── cluster-delslotsrange.json │ │ ├── cluster-failover.json │ │ ├── cluster-flushslots.json │ │ ├── cluster-forget.json │ │ ├── cluster-getkeysinslot.json │ │ ├── cluster-help.json │ │ ├── cluster-info.json │ │ ├── cluster-keyslot.json │ │ ├── cluster-links.json │ │ ├── cluster-meet.json │ │ ├── cluster-migration.json │ │ ├── cluster-myid.json │ │ ├── cluster-myshardid.json │ │ ├── cluster-nodes.json │ │ ├── cluster-replicas.json │ │ ├── cluster-replicate.json │ │ ├── cluster-reset.json │ │ ├── cluster-saveconfig.json │ │ ├── cluster-set-config-epoch.json │ │ ├── cluster-setslot.json │ │ ├── cluster-shards.json │ │ ├── cluster-slaves.json │ │ ├── cluster-slot-stats.json │ │ ├── cluster-slots.json │ │ ├── cluster-syncslots.json │ │ ├── cluster.json │ │ ├── command-count.json │ │ ├── command-docs.json │ │ ├── command-getkeys.json │ │ ├── command-getkeysandflags.json │ │ ├── command-help.json │ │ ├── command-info.json │ │ ├── command-list.json │ │ ├── command.json │ │ ├── config-get.json │ │ ├── config-help.json │ │ ├── config-resetstat.json │ │ ├── config-rewrite.json │ │ ├── config-set.json │ │ ├── config.json │ │ ├── copy.json │ │ ├── dbsize.json │ │ ├── debug.json │ │ ├── decr.json │ │ ├── decrby.json │ │ ├── del.json │ │ ├── delex.json │ │ ├── digest.json │ │ ├── discard.json │ │ ├── dump.json │ │ ├── echo.json │ │ ├── eval.json │ │ ├── eval_ro.json │ │ ├── evalsha.json │ │ ├── evalsha_ro.json │ │ ├── exec.json │ │ ├── exists.json │ │ ├── expire.json │ │ ├── expireat.json │ │ ├── expiretime.json │ │ ├── failover.json │ │ ├── fcall.json │ │ ├── fcall_ro.json │ │ ├── flushall.json │ │ ├── flushdb.json │ │ ├── function-delete.json │ │ ├── function-dump.json │ │ ├── function-flush.json │ │ ├── function-help.json │ │ ├── function-kill.json │ │ ├── function-list.json │ │ ├── function-load.json │ │ ├── function-restore.json │ │ ├── function-stats.json │ │ ├── function.json │ │ ├── gcra.json │ │ ├── gcrasetvalue.json │ │ ├── geoadd.json │ │ ├── geodist.json │ │ ├── geohash.json │ │ ├── geopos.json │ │ ├── georadius.json │ │ ├── georadius_ro.json │ │ ├── georadiusbymember.json │ │ ├── georadiusbymember_ro.json │ │ ├── geosearch.json │ │ ├── geosearchstore.json │ │ ├── get.json │ │ ├── getbit.json │ │ ├── getdel.json │ │ ├── getex.json │ │ ├── getrange.json │ │ ├── getset.json │ │ ├── hdel.json │ │ ├── hello.json │ │ ├── hexists.json │ │ ├── hexpire.json │ │ ├── hexpireat.json │ │ ├── hexpiretime.json │ │ ├── hget.json │ │ ├── hgetall.json │ │ ├── hgetdel.json │ │ ├── hgetex.json │ │ ├── hincrby.json │ │ ├── hincrbyfloat.json │ │ ├── hkeys.json │ │ ├── hlen.json │ │ ├── hmget.json │ │ ├── hmset.json │ │ ├── hotkeys-get.json │ │ ├── hotkeys-help.json │ │ ├── hotkeys-reset.json │ │ ├── hotkeys-start.json │ │ ├── hotkeys-stop.json │ │ ├── hotkeys.json │ │ ├── hpersist.json │ │ ├── hpexpire.json │ │ ├── hpexpireat.json │ │ ├── hpexpiretime.json │ │ ├── hpttl.json │ │ ├── hrandfield.json │ │ ├── hscan.json │ │ ├── hset.json │ │ ├── hsetex.json │ │ ├── hsetnx.json │ │ ├── hstrlen.json │ │ ├── httl.json │ │ ├── hvals.json │ │ ├── incr.json │ │ ├── incrby.json │ │ ├── incrbyfloat.json │ │ ├── info.json │ │ ├── keys.json │ │ ├── lastsave.json │ │ ├── latency-doctor.json │ │ ├── latency-graph.json │ │ ├── latency-help.json │ │ ├── latency-histogram.json │ │ ├── latency-history.json │ │ ├── latency-latest.json │ │ ├── latency-reset.json │ │ ├── latency.json │ │ ├── lcs.json │ │ ├── lindex.json │ │ ├── linsert.json │ │ ├── llen.json │ │ ├── lmove.json │ │ ├── lmpop.json │ │ ├── lolwut.json │ │ ├── lpop.json │ │ ├── lpos.json │ │ ├── lpush.json │ │ ├── lpushx.json │ │ ├── lrange.json │ │ ├── lrem.json │ │ ├── lset.json │ │ ├── ltrim.json │ │ ├── memory-doctor.json │ │ ├── memory-help.json │ │ ├── memory-malloc-stats.json │ │ ├── memory-purge.json │ │ ├── memory-stats.json │ │ ├── memory-usage.json │ │ ├── memory.json │ │ ├── mget.json │ │ ├── migrate.json │ │ ├── module-help.json │ │ ├── module-list.json │ │ ├── module-load.json │ │ ├── module-loadex.json │ │ ├── module-unload.json │ │ ├── module.json │ │ ├── monitor.json │ │ ├── move.json │ │ ├── mset.json │ │ ├── msetex.json │ │ ├── msetnx.json │ │ ├── multi.json │ │ ├── object-encoding.json │ │ ├── object-freq.json │ │ ├── object-help.json │ │ ├── object-idletime.json │ │ ├── object-refcount.json │ │ ├── object.json │ │ ├── persist.json │ │ ├── pexpire.json │ │ ├── pexpireat.json │ │ ├── pexpiretime.json │ │ ├── pfadd.json │ │ ├── pfcount.json │ │ ├── pfdebug.json │ │ ├── pfmerge.json │ │ ├── pfselftest.json │ │ ├── ping.json │ │ ├── psetex.json │ │ ├── psubscribe.json │ │ ├── psync.json │ │ ├── pttl.json │ │ ├── publish.json │ │ ├── pubsub-channels.json │ │ ├── pubsub-help.json │ │ ├── pubsub-numpat.json │ │ ├── pubsub-numsub.json │ │ ├── pubsub-shardchannels.json │ │ ├── pubsub-shardnumsub.json │ │ ├── pubsub.json │ │ ├── punsubscribe.json │ │ ├── quit.json │ │ ├── randomkey.json │ │ ├── readonly.json │ │ ├── readwrite.json │ │ ├── rename.json │ │ ├── renamenx.json │ │ ├── replconf.json │ │ ├── replicaof.json │ │ ├── reset.json │ │ ├── restore-asking.json │ │ ├── restore.json │ │ ├── role.json │ │ ├── rpop.json │ │ ├── rpoplpush.json │ │ ├── rpush.json │ │ ├── rpushx.json │ │ ├── sadd.json │ │ ├── save.json │ │ ├── scan.json │ │ ├── scard.json │ │ ├── script-debug.json │ │ ├── script-exists.json │ │ ├── script-flush.json │ │ ├── script-help.json │ │ ├── script-kill.json │ │ ├── script-load.json │ │ ├── script.json │ │ ├── sdiff.json │ │ ├── sdiffstore.json │ │ ├── select.json │ │ ├── sentinel-ckquorum.json │ │ ├── sentinel-config.json │ │ ├── sentinel-debug.json │ │ ├── sentinel-failover.json │ │ ├── sentinel-flushconfig.json │ │ ├── sentinel-get-master-addr-by-name.json │ │ ├── sentinel-help.json │ │ ├── sentinel-info-cache.json │ │ ├── sentinel-is-master-down-by-addr.json │ │ ├── sentinel-master.json │ │ ├── sentinel-masters.json │ │ ├── sentinel-monitor.json │ │ ├── sentinel-myid.json │ │ ├── sentinel-pending-scripts.json │ │ ├── sentinel-remove.json │ │ ├── sentinel-replicas.json │ │ ├── sentinel-reset.json │ │ ├── sentinel-sentinels.json │ │ ├── sentinel-set.json │ │ ├── sentinel-simulate-failure.json │ │ ├── sentinel-slaves.json │ │ ├── sentinel.json │ │ ├── set.json │ │ ├── setbit.json │ │ ├── setex.json │ │ ├── setnx.json │ │ ├── setrange.json │ │ ├── sflush.json │ │ ├── shutdown.json │ │ ├── sinter.json │ │ ├── sintercard.json │ │ ├── sinterstore.json │ │ ├── sismember.json │ │ ├── slaveof.json │ │ ├── slowlog-get.json │ │ ├── slowlog-help.json │ │ ├── slowlog-len.json │ │ ├── slowlog-reset.json │ │ ├── slowlog.json │ │ ├── smembers.json │ │ ├── smismember.json │ │ ├── smove.json │ │ ├── sort.json │ │ ├── sort_ro.json │ │ ├── spop.json │ │ ├── spublish.json │ │ ├── srandmember.json │ │ ├── srem.json │ │ ├── sscan.json │ │ ├── ssubscribe.json │ │ ├── strlen.json │ │ ├── subscribe.json │ │ ├── substr.json │ │ ├── sunion.json │ │ ├── sunionstore.json │ │ ├── sunsubscribe.json │ │ ├── swapdb.json │ │ ├── sync.json │ │ ├── time.json │ │ ├── touch.json │ │ ├── trimslots.json │ │ ├── ttl.json │ │ ├── type.json │ │ ├── unlink.json │ │ ├── unsubscribe.json │ │ ├── unwatch.json │ │ ├── wait.json │ │ ├── waitaof.json │ │ ├── watch.json │ │ ├── xack.json │ │ ├── xackdel.json │ │ ├── xadd.json │ │ ├── xautoclaim.json │ │ ├── xcfgset.json │ │ ├── xclaim.json │ │ ├── xdel.json │ │ ├── xdelex.json │ │ ├── xgroup-create.json │ │ ├── xgroup-createconsumer.json │ │ ├── xgroup-delconsumer.json │ │ ├── xgroup-destroy.json │ │ ├── xgroup-help.json │ │ ├── xgroup-setid.json │ │ ├── xgroup.json │ │ ├── xidmprecord.json │ │ ├── xinfo-consumers.json │ │ ├── xinfo-groups.json │ │ ├── xinfo-help.json │ │ ├── xinfo-stream.json │ │ ├── xinfo.json │ │ ├── xlen.json │ │ ├── xnack.json │ │ ├── xpending.json │ │ ├── xrange.json │ │ ├── xread.json │ │ ├── xreadgroup.json │ │ ├── xrevrange.json │ │ ├── xsetid.json │ │ ├── xtrim.json │ │ ├── zadd.json │ │ ├── zcard.json │ │ ├── zcount.json │ │ ├── zdiff.json │ │ ├── zdiffstore.json │ │ ├── zincrby.json │ │ ├── zinter.json │ │ ├── zintercard.json │ │ ├── zinterstore.json │ │ ├── zlexcount.json │ │ ├── zmpop.json │ │ ├── zmscore.json │ │ ├── zpopmax.json │ │ ├── zpopmin.json │ │ ├── zrandmember.json │ │ ├── zrange.json │ │ ├── zrangebylex.json │ │ ├── zrangebyscore.json │ │ ├── zrangestore.json │ │ ├── zrank.json │ │ ├── zrem.json │ │ ├── zremrangebylex.json │ │ ├── zremrangebyrank.json │ │ ├── zremrangebyscore.json │ │ ├── zrevrange.json │ │ ├── zrevrangebylex.json │ │ ├── zrevrangebyscore.json │ │ ├── zrevrank.json │ │ ├── zscan.json │ │ ├── zscore.json │ │ ├── zunion.json │ │ └── zunionstore.json │ ├── commands.c │ ├── commands.def │ ├── commands.h │ ├── config.c │ ├── config.h │ ├── connection.c │ ├── connection.h │ ├── connhelpers.h │ ├── crc16.c │ ├── crc16_slottable.h │ ├── crc64.c │ ├── crc64.h │ ├── crccombine.c │ ├── crccombine.h │ ├── crcspeed.c │ ├── crcspeed.h │ ├── db.c │ ├── debug.c │ ├── debugmacro.h │ ├── defrag.c │ ├── dict.c │ ├── dict.h │ ├── ebuckets.c │ ├── ebuckets.h │ ├── endianconv.c │ ├── endianconv.h │ ├── entry.c │ ├── entry.h │ ├── estore.c │ ├── estore.h │ ├── eval.c │ ├── eventnotifier.c │ ├── eventnotifier.h │ ├── evict.c │ ├── expire.c │ ├── fast_float_strtod.c │ ├── fast_float_strtod.h │ ├── fmacros.h │ ├── fmtargs.h │ ├── function_lua.c │ ├── functions.c │ ├── functions.h │ ├── fwtree.c │ ├── fwtree.h │ ├── gcra.c │ ├── geo.c │ ├── geo.h │ ├── geohash.c │ ├── geohash.h │ ├── geohash_helper.c │ ├── geohash_helper.h │ ├── hotkeys.c │ ├── hyperloglog.c │ ├── intset.c │ ├── intset.h │ ├── iothread.c │ ├── keymeta.c │ ├── keymeta.h │ ├── kvstore.c │ ├── kvstore.h │ ├── latency.c │ ├── latency.h │ ├── lazyfree.c │ ├── listpack.c │ ├── listpack.h │ ├── listpack_malloc.h │ ├── localtime.c │ ├── logreqres.c │ ├── lolwut.c │ ├── lolwut.h │ ├── lolwut5.c │ ├── lolwut6.c │ ├── lolwut8.c │ ├── lzf.h │ ├── lzfP.h │ ├── lzf_c.c │ ├── lzf_d.c │ ├── memory_prefetch.c │ ├── memory_prefetch.h │ ├── memtest.c │ ├── mkreleasehdr.sh │ ├── module.c │ ├── modules/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── helloacl.c │ │ ├── helloblock.c │ │ ├── hellocluster.c │ │ ├── hellodict.c │ │ ├── hellohook.c │ │ ├── hellotimer.c │ │ ├── hellotype.c │ │ └── helloworld.c │ ├── monotonic.c │ ├── monotonic.h │ ├── mstr.c │ ├── mstr.h │ ├── mt19937-64.c │ ├── mt19937-64.h │ ├── multi.c │ ├── networking.c │ ├── notify.c │ ├── object.c │ ├── object.h │ ├── pqsort.c │ ├── pqsort.h │ ├── pubsub.c │ ├── quicklist.c │ ├── quicklist.h │ ├── rand.c │ ├── rand.h │ ├── rax.c │ ├── rax.h │ ├── rax_malloc.h │ ├── rdb.c │ ├── rdb.h │ ├── redis-benchmark.c │ ├── redis-check-aof.c │ ├── redis-check-rdb.c │ ├── redis-cli.c │ ├── redis-trib.rb │ ├── redisassert.c │ ├── redisassert.h │ ├── redismodule.h │ ├── release.c │ ├── replication.c │ ├── resp_parser.c │ ├── resp_parser.h │ ├── rio.c │ ├── rio.h │ ├── script.c │ ├── script.h │ ├── script_lua.c │ ├── script_lua.h │ ├── sds.c │ ├── sds.h │ ├── sdsalloc.h │ ├── sentinel.c │ ├── server.c │ ├── server.h │ ├── setcpuaffinity.c │ ├── setproctitle.c │ ├── sha1.c │ ├── sha1.h │ ├── sha256.c │ ├── sha256.h │ ├── siphash.c │ ├── slowlog.c │ ├── slowlog.h │ ├── socket.c │ ├── solarisfixes.h │ ├── sort.c │ ├── sparkline.c │ ├── sparkline.h │ ├── stream.h │ ├── strl.c │ ├── syncio.c │ ├── syscheck.c │ ├── syscheck.h │ ├── t_hash.c │ ├── t_list.c │ ├── t_set.c │ ├── t_stream.c │ ├── t_string.c │ ├── t_zset.c │ ├── testhelp.h │ ├── threads_mngr.c │ ├── threads_mngr.h │ ├── timeout.c │ ├── tls.c │ ├── tracking.c │ ├── tsan.sup │ ├── unix.c │ ├── util.c │ ├── util.h │ ├── valgrind.sup │ ├── vector.c │ ├── vector.h │ ├── version.h │ ├── ziplist.c │ ├── ziplist.h │ ├── zipmap.c │ ├── zipmap.h │ ├── zmalloc.c │ └── zmalloc.h ├── tests/ │ ├── README.md │ ├── assets/ │ │ ├── corrupt_empty_keys.rdb │ │ ├── corrupt_ziplist.rdb │ │ ├── default.conf │ │ ├── encodings.rdb │ │ ├── hash-ziplist.rdb │ │ ├── hash-zipmap.rdb │ │ ├── list-quicklist.rdb │ │ ├── minimal.conf │ │ ├── nodefaultuser.acl │ │ ├── rdb-preamble.aof │ │ ├── scriptbackup.rdb │ │ ├── test_cli_hint_suite.txt │ │ ├── user.acl │ │ ├── userwithselectors.acl │ │ └── zset-ziplist.rdb │ ├── cluster/ │ │ ├── cluster.tcl │ │ ├── run.tcl │ │ ├── tests/ │ │ │ ├── 00-base.tcl │ │ │ ├── 01-faildet.tcl │ │ │ ├── 02-failover.tcl │ │ │ ├── 03-failover-loop.tcl │ │ │ ├── 04-resharding.tcl │ │ │ ├── 05-slave-selection.tcl │ │ │ ├── 06-slave-stop-cond.tcl │ │ │ ├── 07-replica-migration.tcl │ │ │ ├── 08-update-msg.tcl │ │ │ ├── 09-pubsub.tcl │ │ │ ├── 10-manual-failover.tcl │ │ │ ├── 11-manual-takeover.tcl │ │ │ ├── 12-replica-migration-2.tcl │ │ │ ├── 12.1-replica-migration-3.tcl │ │ │ ├── 13-no-failover-option.tcl │ │ │ ├── 14-consistency-check.tcl │ │ │ ├── 15-cluster-slots.tcl │ │ │ ├── 16-transactions-on-replica.tcl │ │ │ ├── 17-diskless-load-swapdb.tcl │ │ │ ├── 18-info.tcl │ │ │ ├── 19-cluster-nodes-slots.tcl │ │ │ ├── 20-half-migrated-slot.tcl │ │ │ ├── 21-many-slot-migration.tcl │ │ │ ├── 22-replica-in-sync.tcl │ │ │ ├── 25-pubsubshard-slot-migration.tcl │ │ │ ├── 26-pubsubshard.tcl │ │ │ ├── 28-cluster-shards.tcl │ │ │ ├── 29-slot-migration-response.tcl │ │ │ ├── helpers/ │ │ │ │ └── onlydots.tcl │ │ │ └── includes/ │ │ │ ├── init-tests.tcl │ │ │ └── utils.tcl │ │ └── tmp/ │ │ └── .gitignore │ ├── helpers/ │ │ ├── bg_block_op.tcl │ │ ├── bg_complex_data.tcl │ │ ├── fake_redis_node.tcl │ │ └── gen_write_load.tcl │ ├── instances.tcl │ ├── integration/ │ │ ├── aof-multi-part.tcl │ │ ├── aof-race.tcl │ │ ├── aof.tcl │ │ ├── block-repl.tcl │ │ ├── convert-ziplist-hash-on-load.tcl │ │ ├── convert-ziplist-zset-on-load.tcl │ │ ├── convert-zipmap-hash-on-load.tcl │ │ ├── corrupt-dump-fuzzer.tcl │ │ ├── corrupt-dump.tcl │ │ ├── dismiss-mem.tcl │ │ ├── failover.tcl │ │ ├── logging.tcl │ │ ├── psync2-master-restart.tcl │ │ ├── psync2-pingoff.tcl │ │ ├── psync2-reg.tcl │ │ ├── psync2.tcl │ │ ├── rdb.tcl │ │ ├── redis-benchmark.tcl │ │ ├── redis-cli.tcl │ │ ├── replication-2.tcl │ │ ├── replication-3.tcl │ │ ├── replication-4.tcl │ │ ├── replication-buffer.tcl │ │ ├── replication-iothreads.tcl │ │ ├── replication-psync.tcl │ │ ├── replication-rdbchannel.tcl │ │ ├── replication.tcl │ │ └── shutdown.tcl │ ├── modules/ │ │ ├── Makefile │ │ ├── aclcheck.c │ │ ├── atomicslotmigration.c │ │ ├── auth.c │ │ ├── basics.c │ │ ├── blockedclient.c │ │ ├── blockonbackground.c │ │ ├── blockonkeys.c │ │ ├── cmdintrospection.c │ │ ├── commandfilter.c │ │ ├── configaccess.c │ │ ├── crash.c │ │ ├── datatype.c │ │ ├── datatype2.c │ │ ├── defragtest.c │ │ ├── eventloop.c │ │ ├── fork.c │ │ ├── getchannels.c │ │ ├── getkeys.c │ │ ├── hash.c │ │ ├── hooks.c │ │ ├── infotest.c │ │ ├── internalsecret.c │ │ ├── keymeta_notify.c │ │ ├── keyspace_events.c │ │ ├── keyspecs.c │ │ ├── list.c │ │ ├── mallocsize.c │ │ ├── misc.c │ │ ├── moduleauthtwo.c │ │ ├── moduleconfigs.c │ │ ├── moduleconfigstwo.c │ │ ├── postnotifications.c │ │ ├── propagate.c │ │ ├── publish.c │ │ ├── rdbloadsave.c │ │ ├── reply.c │ │ ├── scan.c │ │ ├── stream.c │ │ ├── subcommands.c │ │ ├── test_keymeta.c │ │ ├── test_lazyfree.c │ │ ├── testrdb.c │ │ ├── timer.c │ │ ├── usercall.c │ │ └── zset.c │ ├── sentinel/ │ │ ├── run.tcl │ │ ├── tests/ │ │ │ ├── 00-base.tcl │ │ │ ├── 01-conf-update.tcl │ │ │ ├── 02-slaves-reconf.tcl │ │ │ ├── 03-runtime-reconf.tcl │ │ │ ├── 04-slave-selection.tcl │ │ │ ├── 05-manual.tcl │ │ │ ├── 06-ckquorum.tcl │ │ │ ├── 07-down-conditions.tcl │ │ │ ├── 08-hostname-conf.tcl │ │ │ ├── 09-acl-support.tcl │ │ │ ├── 10-replica-priority.tcl │ │ │ ├── 11-port-0.tcl │ │ │ ├── 12-master-reboot.tcl │ │ │ ├── 13-info-command.tcl │ │ │ ├── 14-debug-command.tcl │ │ │ ├── 15-config-set-config-get.tcl │ │ │ ├── helpers/ │ │ │ │ └── check_leaked_fds.tcl │ │ │ └── includes/ │ │ │ ├── init-tests.tcl │ │ │ ├── sentinel.conf │ │ │ ├── start-init-tests.tcl │ │ │ └── utils.tcl │ │ └── tmp/ │ │ └── .gitignore │ ├── support/ │ │ ├── aofmanifest.tcl │ │ ├── benchmark.tcl │ │ ├── cli.tcl │ │ ├── cluster.tcl │ │ ├── cluster_util.tcl │ │ ├── redis.tcl │ │ ├── response_transformers.tcl │ │ ├── server.tcl │ │ ├── test.tcl │ │ ├── tmpfile.tcl │ │ └── util.tcl │ ├── test_helper.tcl │ ├── unit/ │ │ ├── acl-v2.tcl │ │ ├── acl.tcl │ │ ├── aofrw.tcl │ │ ├── auth.tcl │ │ ├── bitfield.tcl │ │ ├── bitops.tcl │ │ ├── client-eviction.tcl │ │ ├── cluster/ │ │ │ ├── announced-endpoints.tcl │ │ │ ├── atomic-slot-migration.tcl │ │ │ ├── cli.tcl │ │ │ ├── cluster-response-tls.tcl │ │ │ ├── failure-marking.tcl │ │ │ ├── hostnames.tcl │ │ │ ├── human-announced-nodename.tcl │ │ │ ├── internal-secret.tcl │ │ │ ├── links.tcl │ │ │ ├── misc.tcl │ │ │ ├── multi-slot-operations.tcl │ │ │ ├── scripting.tcl │ │ │ ├── sharded-pubsub.tcl │ │ │ ├── slot-ownership.tcl │ │ │ └── slot-stats.tcl │ │ ├── dump.tcl │ │ ├── expire.tcl │ │ ├── functions.tcl │ │ ├── gcra.tcl │ │ ├── geo.tcl │ │ ├── hotkeys.tcl │ │ ├── hyperloglog.tcl │ │ ├── info-command.tcl │ │ ├── info-keysizes.tcl │ │ ├── info.tcl │ │ ├── introspection-2.tcl │ │ ├── introspection.tcl │ │ ├── keyspace.tcl │ │ ├── latency-monitor.tcl │ │ ├── lazyfree.tcl │ │ ├── limits.tcl │ │ ├── maxmemory.tcl │ │ ├── memefficiency.tcl │ │ ├── moduleapi/ │ │ │ ├── aclcheck.tcl │ │ │ ├── async_rm_call.tcl │ │ │ ├── auth.tcl │ │ │ ├── basics.tcl │ │ │ ├── blockedclient.tcl │ │ │ ├── blockonbackground.tcl │ │ │ ├── blockonkeys.tcl │ │ │ ├── cluster.tcl │ │ │ ├── cmdintrospection.tcl │ │ │ ├── commandfilter.tcl │ │ │ ├── configaccess.tcl │ │ │ ├── crash.tcl │ │ │ ├── datatype.tcl │ │ │ ├── datatype2.tcl │ │ │ ├── defrag.tcl │ │ │ ├── eventloop.tcl │ │ │ ├── fork.tcl │ │ │ ├── getchannels.tcl │ │ │ ├── getkeys.tcl │ │ │ ├── hash.tcl │ │ │ ├── hooks.tcl │ │ │ ├── infotest.tcl │ │ │ ├── infra.tcl │ │ │ ├── internalsecret.tcl │ │ │ ├── keymeta.tcl │ │ │ ├── keyspace_events.tcl │ │ │ ├── keyspecs.tcl │ │ │ ├── ksn_notify_side_effect.tcl │ │ │ ├── list.tcl │ │ │ ├── mallocsize.tcl │ │ │ ├── misc.tcl │ │ │ ├── moduleauth.tcl │ │ │ ├── moduleconfigs.tcl │ │ │ ├── postnotifications.tcl │ │ │ ├── propagate.tcl │ │ │ ├── publish.tcl │ │ │ ├── rdbloadsave.tcl │ │ │ ├── reply.tcl │ │ │ ├── scan.tcl │ │ │ ├── stream.tcl │ │ │ ├── subcommands.tcl │ │ │ ├── test_lazyfree.tcl │ │ │ ├── testrdb.tcl │ │ │ ├── timer.tcl │ │ │ ├── usercall.tcl │ │ │ └── zset.tcl │ │ ├── multi.tcl │ │ ├── networking.tcl │ │ ├── obuf-limits.tcl │ │ ├── oom-score-adj.tcl │ │ ├── other.tcl │ │ ├── pause.tcl │ │ ├── printver.tcl │ │ ├── protocol.tcl │ │ ├── pubsub.tcl │ │ ├── pubsubshard.tcl │ │ ├── querybuf.tcl │ │ ├── quit.tcl │ │ ├── replybufsize.tcl │ │ ├── scan.tcl │ │ ├── scripting.tcl │ │ ├── shutdown.tcl │ │ ├── slowlog.tcl │ │ ├── sort.tcl │ │ ├── tls.tcl │ │ ├── tracking.tcl │ │ ├── type/ │ │ │ ├── hash-field-expire.tcl │ │ │ ├── hash.tcl │ │ │ ├── incr.tcl │ │ │ ├── list-2.tcl │ │ │ ├── list-3.tcl │ │ │ ├── list.tcl │ │ │ ├── set.tcl │ │ │ ├── stream-cgroups.tcl │ │ │ ├── stream.tcl │ │ │ ├── string.tcl │ │ │ └── zset.tcl │ │ ├── violations.tcl │ │ └── wait.tcl │ └── vectorset/ │ └── vectorset.tcl └── utils/ ├── build-static-symbols.tcl ├── cluster_fail_time.tcl ├── corrupt_rdb.c ├── create-cluster/ │ ├── .gitignore │ ├── README │ └── create-cluster ├── gen-test-certs.sh ├── generate-command-code.py ├── generate-commands-json.py ├── generate-fmtargs.py ├── generate-module-api-doc.rb ├── graphs/ │ └── commits-over-time/ │ ├── README.md │ └── genhtml.tcl ├── hyperloglog/ │ ├── .gitignore │ ├── hll-err.rb │ └── hll-gnuplot-graph.rb ├── install_server.sh ├── lru/ │ ├── README │ ├── lfu-simulation.c │ └── test-lru.rb ├── redis-copy.rb ├── redis-sha1.rb ├── redis_init_script ├── redis_init_script.tpl ├── releasetools/ │ ├── 01_create_tarball.sh │ ├── 02_upload_tarball.sh │ ├── 03_test_release.sh │ ├── 04_release_hash.sh │ └── changelog.tcl ├── reply_schema_linter.js ├── req-res-log-validator.py ├── req-res-validator/ │ └── requirements.txt ├── speed-regression.tcl ├── srandmember/ │ ├── README.md │ ├── showdist.rb │ └── showfreq.rb ├── systemd-redis_multiple_servers@.service ├── systemd-redis_server.service ├── tracking_collisions.c └── whatisdoing.sh