gitextract_xkncrmnj/ ├── .gitignore ├── .travis.yml ├── Dockerfile ├── Godeps/ │ ├── Godeps.json │ └── Readme ├── MIT-LICENSE.txt ├── Makefile ├── README.md ├── admin/ │ ├── codis-dashboard-admin.sh │ ├── codis-fe-admin.sh │ ├── codis-proxy-admin.sh │ └── codis-server-admin.sh ├── ansible/ │ ├── group_vars/ │ │ └── all │ ├── hosts │ ├── roles/ │ │ ├── codis-dashboard/ │ │ │ ├── tasks/ │ │ │ │ └── main.yml │ │ │ └── templates/ │ │ │ ├── codis-dashboard-admin.sh │ │ │ └── dashboard.toml │ │ ├── codis-fe/ │ │ │ ├── tasks/ │ │ │ │ └── main.yml │ │ │ └── templates/ │ │ │ └── codis-fe-admin.sh │ │ ├── codis-proxy/ │ │ │ ├── tasks/ │ │ │ │ └── main.yml │ │ │ └── templates/ │ │ │ ├── codis-proxy-admin.sh │ │ │ └── proxy.toml │ │ ├── codis-server/ │ │ │ ├── tasks/ │ │ │ │ └── main.yml │ │ │ └── templates/ │ │ │ ├── codis-server-admin.sh │ │ │ └── redis.conf │ │ ├── common/ │ │ │ └── tasks/ │ │ │ └── main.yml │ │ └── redis-sentinel/ │ │ ├── tasks/ │ │ │ └── main.yml │ │ └── templates/ │ │ ├── redis-sentinel-admin.sh │ │ └── sentinel.conf │ └── site.yml ├── cmd/ │ ├── admin/ │ │ ├── admin.go │ │ ├── dashboard.go │ │ ├── main.go │ │ └── proxy.go │ ├── dashboard/ │ │ └── main.go │ ├── fe/ │ │ ├── assets/ │ │ │ ├── css/ │ │ │ │ └── main.css │ │ │ ├── dashboard-fe.js │ │ │ ├── index.html │ │ │ └── package.json │ │ └── main.go │ ├── ha/ │ │ └── main.go │ └── proxy/ │ └── main.go ├── config/ │ ├── dashboard.toml │ ├── proxy.toml │ ├── redis.conf │ └── sentinel.conf ├── deploy/ │ ├── Makefile │ ├── products/ │ │ ├── alpha/ │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ ├── config.json │ │ │ ├── gen.py │ │ │ └── render.py │ │ └── beta/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── config.json │ │ ├── gen.py │ │ └── render.py │ ├── root/ │ │ └── opt/ │ │ └── codis/ │ │ └── etc/ │ │ ├── 10.2.16.200_19000/ │ │ │ ├── codis_proxy_19000.service │ │ │ ├── proxy.toml │ │ │ └── proxy_admin │ │ ├── 10.2.16.200_19002/ │ │ │ ├── codis_proxy_19002.service │ │ │ ├── proxy.toml │ │ │ └── proxy_admin │ │ ├── 10.2.16.201_19000/ │ │ │ ├── codis_proxy_19000.service │ │ │ ├── proxy.toml │ │ │ └── proxy_admin │ │ ├── 10.2.16.201_19002/ │ │ │ ├── codis_proxy_19002.service │ │ │ ├── proxy.toml │ │ │ └── proxy_admin │ │ ├── 10.2.16.202_19000/ │ │ │ ├── codis_proxy_19000.service │ │ │ ├── proxy.toml │ │ │ └── proxy_admin │ │ ├── 10.2.16.202_19002/ │ │ │ ├── codis_proxy_19002.service │ │ │ ├── proxy.toml │ │ │ └── proxy_admin │ │ ├── 10.4.10.100_18080/ │ │ │ ├── codis_dashboard_18080.service │ │ │ ├── dashboard.toml │ │ │ ├── dashboard_admin │ │ │ ├── foreach_proxy │ │ │ ├── foreach_proxy_online │ │ │ └── foreach_proxy_reinit │ │ ├── 10.4.10.200_19000/ │ │ │ ├── codis_proxy_19000.service │ │ │ ├── proxy.toml │ │ │ └── proxy_admin │ │ ├── 10.4.10.200_19002/ │ │ │ ├── codis_proxy_19002.service │ │ │ ├── proxy.toml │ │ │ └── proxy_admin │ │ ├── 10.4.10.201_19000/ │ │ │ ├── codis_proxy_19000.service │ │ │ ├── proxy.toml │ │ │ └── proxy_admin │ │ ├── 10.4.10.201_19002/ │ │ │ ├── codis_proxy_19002.service │ │ │ ├── proxy.toml │ │ │ └── proxy_admin │ │ ├── 127.0.0.1_18080/ │ │ │ ├── codis_dashboard_18080.service │ │ │ ├── dashboard.toml │ │ │ ├── dashboard_admin │ │ │ ├── foreach_proxy │ │ │ ├── foreach_proxy_online │ │ │ └── foreach_proxy_reinit │ │ ├── 127.0.0.1_19000/ │ │ │ ├── codis_proxy_19000.service │ │ │ ├── proxy.toml │ │ │ └── proxy_admin │ │ ├── 127.0.0.1_19001/ │ │ │ ├── codis_proxy_19001.service │ │ │ ├── proxy.toml │ │ │ └── proxy_admin │ │ └── 127.0.0.1_19002/ │ │ ├── codis_proxy_19002.service │ │ ├── proxy.toml │ │ └── proxy_admin │ └── templates/ │ ├── dashboard.service.template │ ├── dashboard.toml.template │ ├── proxy.service.template │ └── proxy.toml.template ├── doc/ │ ├── FAQ_en.md │ ├── FAQ_zh.md │ ├── bench1/ │ │ ├── Makefile │ │ ├── bench.plot │ │ ├── input1 │ │ ├── input2 │ │ └── input3 │ ├── bench2/ │ │ ├── Makefile │ │ ├── bench.plot │ │ ├── input1 │ │ ├── input2 │ │ ├── input3 │ │ ├── input4 │ │ └── input5 │ ├── benchmark.md │ ├── pictures/ │ │ ├── .gitignore │ │ ├── Makefile │ │ └── architecture.tex │ ├── redis_change_zh.md │ ├── tutorial_en.md │ ├── tutorial_zh.md │ └── unsupported_cmds.md ├── example/ │ ├── .gitignore │ ├── Makefile │ ├── dashboard.py │ ├── fe.py │ ├── proxy.py │ ├── sentinel.py │ ├── sentinel_notify.sh │ ├── sentinel_reconfig.sh │ ├── server.py │ ├── setup.py │ └── utils.py ├── extern/ │ ├── .gitignore │ ├── README.md │ ├── deprecated/ │ │ ├── redis-2.8.21/ │ │ │ ├── .gitignore │ │ │ ├── 00-RELEASENOTES │ │ │ ├── 0000-redis.patch │ │ │ ├── 0001-slotsscan.patch │ │ │ ├── 0002-rehash.patch │ │ │ ├── BUGS │ │ │ ├── CONTRIBUTING │ │ │ ├── COPYING │ │ │ ├── INSTALL │ │ │ ├── MANIFESTO │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── deps/ │ │ │ │ ├── Makefile │ │ │ │ ├── hiredis/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ ├── COPYING │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README.md │ │ │ │ │ ├── adapters/ │ │ │ │ │ │ ├── ae.h │ │ │ │ │ │ ├── libev.h │ │ │ │ │ │ ├── libevent.h │ │ │ │ │ │ └── libuv.h │ │ │ │ │ ├── async.c │ │ │ │ │ ├── async.h │ │ │ │ │ ├── dict.c │ │ │ │ │ ├── dict.h │ │ │ │ │ ├── examples/ │ │ │ │ │ │ ├── example-ae.c │ │ │ │ │ │ ├── example-libev.c │ │ │ │ │ │ ├── example-libevent.c │ │ │ │ │ │ ├── example-libuv.c │ │ │ │ │ │ └── example.c │ │ │ │ │ ├── fmacros.h │ │ │ │ │ ├── hiredis.c │ │ │ │ │ ├── hiredis.h │ │ │ │ │ ├── net.c │ │ │ │ │ ├── net.h │ │ │ │ │ ├── sds.c │ │ │ │ │ ├── sds.h │ │ │ │ │ ├── test.c │ │ │ │ │ └── zmalloc.h │ │ │ │ ├── jemalloc/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── COPYING │ │ │ │ │ ├── ChangeLog │ │ │ │ │ ├── INSTALL │ │ │ │ │ ├── Makefile.in │ │ │ │ │ ├── README │ │ │ │ │ ├── autogen.sh │ │ │ │ │ ├── bin/ │ │ │ │ │ │ ├── jemalloc.sh.in │ │ │ │ │ │ └── pprof │ │ │ │ │ ├── config.guess │ │ │ │ │ ├── config.stamp.in │ │ │ │ │ ├── config.sub │ │ │ │ │ ├── configure.ac │ │ │ │ │ ├── coverage.sh │ │ │ │ │ ├── doc/ │ │ │ │ │ │ ├── html.xsl.in │ │ │ │ │ │ ├── jemalloc.xml.in │ │ │ │ │ │ ├── manpages.xsl.in │ │ │ │ │ │ └── stylesheet.xsl │ │ │ │ │ ├── include/ │ │ │ │ │ │ ├── jemalloc/ │ │ │ │ │ │ │ ├── internal/ │ │ │ │ │ │ │ │ ├── arena.h │ │ │ │ │ │ │ │ ├── atomic.h │ │ │ │ │ │ │ │ ├── base.h │ │ │ │ │ │ │ │ ├── bitmap.h │ │ │ │ │ │ │ │ ├── chunk.h │ │ │ │ │ │ │ │ ├── chunk_dss.h │ │ │ │ │ │ │ │ ├── chunk_mmap.h │ │ │ │ │ │ │ │ ├── ckh.h │ │ │ │ │ │ │ │ ├── ctl.h │ │ │ │ │ │ │ │ ├── extent.h │ │ │ │ │ │ │ │ ├── hash.h │ │ │ │ │ │ │ │ ├── huge.h │ │ │ │ │ │ │ │ ├── jemalloc_internal.h.in │ │ │ │ │ │ │ │ ├── jemalloc_internal_defs.h.in │ │ │ │ │ │ │ │ ├── jemalloc_internal_macros.h │ │ │ │ │ │ │ │ ├── mb.h │ │ │ │ │ │ │ │ ├── mutex.h │ │ │ │ │ │ │ │ ├── private_namespace.sh │ │ │ │ │ │ │ │ ├── private_symbols.txt │ │ │ │ │ │ │ │ ├── private_unnamespace.sh │ │ │ │ │ │ │ │ ├── prng.h │ │ │ │ │ │ │ │ ├── prof.h │ │ │ │ │ │ │ │ ├── public_namespace.sh │ │ │ │ │ │ │ │ ├── public_unnamespace.sh │ │ │ │ │ │ │ │ ├── ql.h │ │ │ │ │ │ │ │ ├── qr.h │ │ │ │ │ │ │ │ ├── quarantine.h │ │ │ │ │ │ │ │ ├── rb.h │ │ │ │ │ │ │ │ ├── rtree.h │ │ │ │ │ │ │ │ ├── size_classes.sh │ │ │ │ │ │ │ │ ├── stats.h │ │ │ │ │ │ │ │ ├── tcache.h │ │ │ │ │ │ │ │ ├── tsd.h │ │ │ │ │ │ │ │ └── util.h │ │ │ │ │ │ │ ├── jemalloc.sh │ │ │ │ │ │ │ ├── jemalloc_defs.h.in │ │ │ │ │ │ │ ├── jemalloc_macros.h.in │ │ │ │ │ │ │ ├── jemalloc_mangle.sh │ │ │ │ │ │ │ ├── jemalloc_protos.h.in │ │ │ │ │ │ │ └── jemalloc_rename.sh │ │ │ │ │ │ └── msvc_compat/ │ │ │ │ │ │ ├── inttypes.h │ │ │ │ │ │ ├── stdbool.h │ │ │ │ │ │ ├── stdint.h │ │ │ │ │ │ └── strings.h │ │ │ │ │ ├── install-sh │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── arena.c │ │ │ │ │ │ ├── atomic.c │ │ │ │ │ │ ├── base.c │ │ │ │ │ │ ├── bitmap.c │ │ │ │ │ │ ├── chunk.c │ │ │ │ │ │ ├── chunk_dss.c │ │ │ │ │ │ ├── chunk_mmap.c │ │ │ │ │ │ ├── ckh.c │ │ │ │ │ │ ├── ctl.c │ │ │ │ │ │ ├── extent.c │ │ │ │ │ │ ├── hash.c │ │ │ │ │ │ ├── huge.c │ │ │ │ │ │ ├── jemalloc.c │ │ │ │ │ │ ├── mb.c │ │ │ │ │ │ ├── mutex.c │ │ │ │ │ │ ├── prof.c │ │ │ │ │ │ ├── quarantine.c │ │ │ │ │ │ ├── rtree.c │ │ │ │ │ │ ├── stats.c │ │ │ │ │ │ ├── tcache.c │ │ │ │ │ │ ├── tsd.c │ │ │ │ │ │ ├── util.c │ │ │ │ │ │ └── zone.c │ │ │ │ │ └── test/ │ │ │ │ │ ├── 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 │ │ │ │ │ │ ├── jemalloc_test.h.in │ │ │ │ │ │ ├── jemalloc_test_defs.h.in │ │ │ │ │ │ ├── math.h │ │ │ │ │ │ ├── mq.h │ │ │ │ │ │ ├── mtx.h │ │ │ │ │ │ ├── test.h │ │ │ │ │ │ └── thd.h │ │ │ │ │ ├── integration/ │ │ │ │ │ │ ├── MALLOCX_ARENA.c │ │ │ │ │ │ ├── aligned_alloc.c │ │ │ │ │ │ ├── allocated.c │ │ │ │ │ │ ├── allocm.c │ │ │ │ │ │ ├── mallocx.c │ │ │ │ │ │ ├── mremap.c │ │ │ │ │ │ ├── posix_memalign.c │ │ │ │ │ │ ├── rallocm.c │ │ │ │ │ │ ├── rallocx.c │ │ │ │ │ │ ├── thread_arena.c │ │ │ │ │ │ ├── thread_tcache_enabled.c │ │ │ │ │ │ └── xallocx.c │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── SFMT.c │ │ │ │ │ │ ├── math.c │ │ │ │ │ │ ├── mtx.c │ │ │ │ │ │ ├── test.c │ │ │ │ │ │ └── thd.c │ │ │ │ │ ├── test.sh.in │ │ │ │ │ └── unit/ │ │ │ │ │ ├── SFMT.c │ │ │ │ │ ├── bitmap.c │ │ │ │ │ ├── ckh.c │ │ │ │ │ ├── hash.c │ │ │ │ │ ├── junk.c │ │ │ │ │ ├── mallctl.c │ │ │ │ │ ├── math.c │ │ │ │ │ ├── mq.c │ │ │ │ │ ├── mtx.c │ │ │ │ │ ├── prof_accum.c │ │ │ │ │ ├── prof_accum.h │ │ │ │ │ ├── prof_accum_a.c │ │ │ │ │ ├── prof_accum_b.c │ │ │ │ │ ├── prof_gdump.c │ │ │ │ │ ├── prof_idump.c │ │ │ │ │ ├── ql.c │ │ │ │ │ ├── qr.c │ │ │ │ │ ├── quarantine.c │ │ │ │ │ ├── rb.c │ │ │ │ │ ├── rtree.c │ │ │ │ │ ├── stats.c │ │ │ │ │ ├── tsd.c │ │ │ │ │ ├── util.c │ │ │ │ │ └── zero.c │ │ │ │ ├── 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 │ │ │ │ └── update-jemalloc.sh │ │ │ ├── redis.conf │ │ │ ├── runtest │ │ │ ├── runtest-sentinel │ │ │ ├── sentinel.conf │ │ │ ├── src/ │ │ │ │ ├── .gitignore │ │ │ │ ├── Makefile │ │ │ │ ├── Makefile.dep │ │ │ │ ├── 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 │ │ │ │ ├── bio.c │ │ │ │ ├── bio.h │ │ │ │ ├── bitops.c │ │ │ │ ├── config.c │ │ │ │ ├── config.h │ │ │ │ ├── crc32.c │ │ │ │ ├── crc64.c │ │ │ │ ├── crc64.h │ │ │ │ ├── db.c │ │ │ │ ├── debug.c │ │ │ │ ├── dict.c │ │ │ │ ├── dict.h │ │ │ │ ├── endianconv.c │ │ │ │ ├── endianconv.h │ │ │ │ ├── fmacros.h │ │ │ │ ├── help.h │ │ │ │ ├── hyperloglog.c │ │ │ │ ├── intset.c │ │ │ │ ├── intset.h │ │ │ │ ├── latency.c │ │ │ │ ├── latency.h │ │ │ │ ├── lzf.h │ │ │ │ ├── lzfP.h │ │ │ │ ├── lzf_c.c │ │ │ │ ├── lzf_d.c │ │ │ │ ├── memtest.c │ │ │ │ ├── migrate.c │ │ │ │ ├── mkreleasehdr.sh │ │ │ │ ├── multi.c │ │ │ │ ├── networking.c │ │ │ │ ├── notify.c │ │ │ │ ├── object.c │ │ │ │ ├── pqsort.c │ │ │ │ ├── pqsort.h │ │ │ │ ├── pubsub.c │ │ │ │ ├── rand.c │ │ │ │ ├── rand.h │ │ │ │ ├── rdb.c │ │ │ │ ├── rdb.h │ │ │ │ ├── redis-benchmark.c │ │ │ │ ├── redis-check-aof.c │ │ │ │ ├── redis-check-dump.c │ │ │ │ ├── redis-cli.c │ │ │ │ ├── redis.c │ │ │ │ ├── redis.h │ │ │ │ ├── redisassert.h │ │ │ │ ├── release.c │ │ │ │ ├── replication.c │ │ │ │ ├── rio.c │ │ │ │ ├── rio.h │ │ │ │ ├── scripting.c │ │ │ │ ├── sds.c │ │ │ │ ├── sds.h │ │ │ │ ├── sentinel.c │ │ │ │ ├── setproctitle.c │ │ │ │ ├── sha1.c │ │ │ │ ├── sha1.h │ │ │ │ ├── slots.c │ │ │ │ ├── slowlog.c │ │ │ │ ├── slowlog.h │ │ │ │ ├── solarisfixes.h │ │ │ │ ├── sort.c │ │ │ │ ├── sparkline.c │ │ │ │ ├── sparkline.h │ │ │ │ ├── syncio.c │ │ │ │ ├── t_hash.c │ │ │ │ ├── t_list.c │ │ │ │ ├── t_set.c │ │ │ │ ├── t_string.c │ │ │ │ ├── t_zset.c │ │ │ │ ├── testhelp.h │ │ │ │ ├── util.c │ │ │ │ ├── util.h │ │ │ │ ├── valgrind.sup │ │ │ │ ├── version.h │ │ │ │ ├── ziplist.c │ │ │ │ ├── ziplist.h │ │ │ │ ├── zipmap.c │ │ │ │ ├── zipmap.h │ │ │ │ ├── zmalloc.c │ │ │ │ └── zmalloc.h │ │ │ ├── tests/ │ │ │ │ ├── assets/ │ │ │ │ │ └── default.conf │ │ │ │ ├── helpers/ │ │ │ │ │ ├── bg_complex_data.tcl │ │ │ │ │ └── gen_write_load.tcl │ │ │ │ ├── instances.tcl │ │ │ │ ├── integration/ │ │ │ │ │ ├── aof-race.tcl │ │ │ │ │ ├── aof.tcl │ │ │ │ │ ├── convert-zipmap-hash-on-load.tcl │ │ │ │ │ ├── rdb.tcl │ │ │ │ │ ├── redis-cli.tcl │ │ │ │ │ ├── replication-2.tcl │ │ │ │ │ ├── replication-3.tcl │ │ │ │ │ ├── replication-4.tcl │ │ │ │ │ ├── replication-psync.tcl │ │ │ │ │ └── replication.tcl │ │ │ │ ├── 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 │ │ │ │ │ │ └── includes/ │ │ │ │ │ │ └── init-tests.tcl │ │ │ │ │ └── tmp/ │ │ │ │ │ └── .gitignore │ │ │ │ ├── support/ │ │ │ │ │ ├── redis.tcl │ │ │ │ │ ├── server.tcl │ │ │ │ │ ├── test.tcl │ │ │ │ │ ├── tmpfile.tcl │ │ │ │ │ └── util.tcl │ │ │ │ ├── test_helper.tcl │ │ │ │ └── unit/ │ │ │ │ ├── aofrw.tcl │ │ │ │ ├── auth.tcl │ │ │ │ ├── basic.tcl │ │ │ │ ├── bitops.tcl │ │ │ │ ├── dump.tcl │ │ │ │ ├── expire.tcl │ │ │ │ ├── hyperloglog.tcl │ │ │ │ ├── introspection.tcl │ │ │ │ ├── latency-monitor.tcl │ │ │ │ ├── limits.tcl │ │ │ │ ├── maxmemory.tcl │ │ │ │ ├── memefficiency.tcl │ │ │ │ ├── multi.tcl │ │ │ │ ├── obuf-limits.tcl │ │ │ │ ├── other.tcl │ │ │ │ ├── printver.tcl │ │ │ │ ├── protocol.tcl │ │ │ │ ├── pubsub.tcl │ │ │ │ ├── quit.tcl │ │ │ │ ├── scan.tcl │ │ │ │ ├── scripting.tcl │ │ │ │ ├── slowlog.tcl │ │ │ │ ├── sort.tcl │ │ │ │ └── type/ │ │ │ │ ├── hash.tcl │ │ │ │ ├── list-2.tcl │ │ │ │ ├── list-3.tcl │ │ │ │ ├── list-common.tcl │ │ │ │ ├── list.tcl │ │ │ │ ├── set.tcl │ │ │ │ └── zset.tcl │ │ │ └── utils/ │ │ │ ├── build-static-symbols.tcl │ │ │ ├── generate-command-help.rb │ │ │ ├── hyperloglog/ │ │ │ │ ├── .gitignore │ │ │ │ ├── hll-err.rb │ │ │ │ └── hll-gnuplot-graph.rb │ │ │ ├── install_server.sh │ │ │ ├── mkrelease.sh │ │ │ ├── redis-copy.rb │ │ │ ├── redis-sha1.rb │ │ │ ├── redis_init_script │ │ │ ├── redis_init_script.tpl │ │ │ ├── speed-regression.tcl │ │ │ └── whatisdoing.sh │ │ ├── redis-3.2.4/ │ │ │ ├── .gitignore │ │ │ ├── 00-RELEASENOTES │ │ │ ├── 0000-redis.patch │ │ │ ├── 0001-slotsscan.patch │ │ │ ├── 0002-rehash.patch │ │ │ ├── BUGS │ │ │ ├── CONTRIBUTING │ │ │ ├── COPYING │ │ │ ├── INSTALL │ │ │ ├── MANIFESTO │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── deps/ │ │ │ │ ├── Makefile │ │ │ │ ├── README.md │ │ │ │ ├── geohash-int/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── geohash.c │ │ │ │ │ ├── geohash.h │ │ │ │ │ ├── geohash_helper.c │ │ │ │ │ └── geohash_helper.h │ │ │ │ ├── hiredis/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ ├── COPYING │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README.md │ │ │ │ │ ├── adapters/ │ │ │ │ │ │ ├── ae.h │ │ │ │ │ │ ├── libev.h │ │ │ │ │ │ ├── libevent.h │ │ │ │ │ │ └── libuv.h │ │ │ │ │ ├── async.c │ │ │ │ │ ├── async.h │ │ │ │ │ ├── dict.c │ │ │ │ │ ├── dict.h │ │ │ │ │ ├── examples/ │ │ │ │ │ │ ├── example-ae.c │ │ │ │ │ │ ├── example-libev.c │ │ │ │ │ │ ├── example-libevent.c │ │ │ │ │ │ ├── example-libuv.c │ │ │ │ │ │ └── example.c │ │ │ │ │ ├── fmacros.h │ │ │ │ │ ├── hiredis.c │ │ │ │ │ ├── hiredis.h │ │ │ │ │ ├── net.c │ │ │ │ │ ├── net.h │ │ │ │ │ ├── sds.c │ │ │ │ │ ├── sds.h │ │ │ │ │ ├── sdsalloc.h │ │ │ │ │ ├── test.c │ │ │ │ │ └── zmalloc.h │ │ │ │ ├── jemalloc/ │ │ │ │ │ ├── .autom4te.cfg │ │ │ │ │ ├── .gitattributes │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── COPYING │ │ │ │ │ ├── ChangeLog │ │ │ │ │ ├── INSTALL │ │ │ │ │ ├── Makefile.in │ │ │ │ │ ├── README │ │ │ │ │ ├── autogen.sh │ │ │ │ │ ├── bin/ │ │ │ │ │ │ ├── jemalloc-config.in │ │ │ │ │ │ ├── jemalloc.sh.in │ │ │ │ │ │ └── jeprof.in │ │ │ │ │ ├── build-aux/ │ │ │ │ │ │ ├── config.guess │ │ │ │ │ │ ├── config.sub │ │ │ │ │ │ └── install-sh │ │ │ │ │ ├── config.stamp.in │ │ │ │ │ ├── configure.ac │ │ │ │ │ ├── coverage.sh │ │ │ │ │ ├── doc/ │ │ │ │ │ │ ├── html.xsl.in │ │ │ │ │ │ ├── jemalloc.xml.in │ │ │ │ │ │ ├── manpages.xsl.in │ │ │ │ │ │ └── stylesheet.xsl │ │ │ │ │ ├── include/ │ │ │ │ │ │ ├── jemalloc/ │ │ │ │ │ │ │ ├── internal/ │ │ │ │ │ │ │ │ ├── arena.h │ │ │ │ │ │ │ │ ├── assert.h │ │ │ │ │ │ │ │ ├── atomic.h │ │ │ │ │ │ │ │ ├── base.h │ │ │ │ │ │ │ │ ├── bitmap.h │ │ │ │ │ │ │ │ ├── chunk.h │ │ │ │ │ │ │ │ ├── chunk_dss.h │ │ │ │ │ │ │ │ ├── chunk_mmap.h │ │ │ │ │ │ │ │ ├── ckh.h │ │ │ │ │ │ │ │ ├── ctl.h │ │ │ │ │ │ │ │ ├── extent.h │ │ │ │ │ │ │ │ ├── hash.h │ │ │ │ │ │ │ │ ├── huge.h │ │ │ │ │ │ │ │ ├── jemalloc_internal.h.in │ │ │ │ │ │ │ │ ├── jemalloc_internal_decls.h │ │ │ │ │ │ │ │ ├── jemalloc_internal_defs.h.in │ │ │ │ │ │ │ │ ├── jemalloc_internal_macros.h │ │ │ │ │ │ │ │ ├── mb.h │ │ │ │ │ │ │ │ ├── mutex.h │ │ │ │ │ │ │ │ ├── nstime.h │ │ │ │ │ │ │ │ ├── pages.h │ │ │ │ │ │ │ │ ├── ph.h │ │ │ │ │ │ │ │ ├── private_namespace.sh │ │ │ │ │ │ │ │ ├── private_symbols.txt │ │ │ │ │ │ │ │ ├── private_unnamespace.sh │ │ │ │ │ │ │ │ ├── prng.h │ │ │ │ │ │ │ │ ├── prof.h │ │ │ │ │ │ │ │ ├── public_namespace.sh │ │ │ │ │ │ │ │ ├── public_unnamespace.sh │ │ │ │ │ │ │ │ ├── ql.h │ │ │ │ │ │ │ │ ├── qr.h │ │ │ │ │ │ │ │ ├── quarantine.h │ │ │ │ │ │ │ │ ├── rb.h │ │ │ │ │ │ │ │ ├── rtree.h │ │ │ │ │ │ │ │ ├── size_classes.sh │ │ │ │ │ │ │ │ ├── smoothstep.h │ │ │ │ │ │ │ │ ├── smoothstep.sh │ │ │ │ │ │ │ │ ├── stats.h │ │ │ │ │ │ │ │ ├── tcache.h │ │ │ │ │ │ │ │ ├── ticker.h │ │ │ │ │ │ │ │ ├── tsd.h │ │ │ │ │ │ │ │ ├── util.h │ │ │ │ │ │ │ │ ├── valgrind.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 │ │ │ │ │ ├── msvc/ │ │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ │ ├── jemalloc_vc2015.sln │ │ │ │ │ │ └── projects/ │ │ │ │ │ │ └── vc2015/ │ │ │ │ │ │ ├── jemalloc/ │ │ │ │ │ │ │ ├── jemalloc.vcxproj │ │ │ │ │ │ │ └── jemalloc.vcxproj.filters │ │ │ │ │ │ └── test_threads/ │ │ │ │ │ │ ├── test_threads.cpp │ │ │ │ │ │ ├── test_threads.h │ │ │ │ │ │ ├── test_threads.vcxproj │ │ │ │ │ │ ├── test_threads.vcxproj.filters │ │ │ │ │ │ └── test_threads_main.cpp │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── arena.c │ │ │ │ │ │ ├── atomic.c │ │ │ │ │ │ ├── base.c │ │ │ │ │ │ ├── bitmap.c │ │ │ │ │ │ ├── chunk.c │ │ │ │ │ │ ├── chunk_dss.c │ │ │ │ │ │ ├── chunk_mmap.c │ │ │ │ │ │ ├── ckh.c │ │ │ │ │ │ ├── ctl.c │ │ │ │ │ │ ├── extent.c │ │ │ │ │ │ ├── hash.c │ │ │ │ │ │ ├── huge.c │ │ │ │ │ │ ├── jemalloc.c │ │ │ │ │ │ ├── mb.c │ │ │ │ │ │ ├── mutex.c │ │ │ │ │ │ ├── nstime.c │ │ │ │ │ │ ├── pages.c │ │ │ │ │ │ ├── prng.c │ │ │ │ │ │ ├── prof.c │ │ │ │ │ │ ├── quarantine.c │ │ │ │ │ │ ├── rtree.c │ │ │ │ │ │ ├── stats.c │ │ │ │ │ │ ├── tcache.c │ │ │ │ │ │ ├── ticker.c │ │ │ │ │ │ ├── tsd.c │ │ │ │ │ │ ├── util.c │ │ │ │ │ │ ├── valgrind.c │ │ │ │ │ │ ├── witness.c │ │ │ │ │ │ └── zone.c │ │ │ │ │ └── test/ │ │ │ │ │ ├── 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 │ │ │ │ │ │ ├── btalloc.h │ │ │ │ │ │ ├── jemalloc_test.h.in │ │ │ │ │ │ ├── jemalloc_test_defs.h.in │ │ │ │ │ │ ├── math.h │ │ │ │ │ │ ├── mq.h │ │ │ │ │ │ ├── mtx.h │ │ │ │ │ │ ├── test.h │ │ │ │ │ │ ├── thd.h │ │ │ │ │ │ └── timer.h │ │ │ │ │ ├── integration/ │ │ │ │ │ │ ├── MALLOCX_ARENA.c │ │ │ │ │ │ ├── aligned_alloc.c │ │ │ │ │ │ ├── allocated.c │ │ │ │ │ │ ├── chunk.c │ │ │ │ │ │ ├── mallocx.c │ │ │ │ │ │ ├── overflow.c │ │ │ │ │ │ ├── posix_memalign.c │ │ │ │ │ │ ├── rallocx.c │ │ │ │ │ │ ├── sdallocx.c │ │ │ │ │ │ ├── thread_arena.c │ │ │ │ │ │ ├── thread_tcache_enabled.c │ │ │ │ │ │ └── xallocx.c │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── SFMT.c │ │ │ │ │ │ ├── btalloc.c │ │ │ │ │ │ ├── btalloc_0.c │ │ │ │ │ │ ├── btalloc_1.c │ │ │ │ │ │ ├── math.c │ │ │ │ │ │ ├── mq.c │ │ │ │ │ │ ├── mtx.c │ │ │ │ │ │ ├── test.c │ │ │ │ │ │ ├── thd.c │ │ │ │ │ │ └── timer.c │ │ │ │ │ ├── stress/ │ │ │ │ │ │ └── microbench.c │ │ │ │ │ ├── test.sh.in │ │ │ │ │ └── unit/ │ │ │ │ │ ├── SFMT.c │ │ │ │ │ ├── a0.c │ │ │ │ │ ├── arena_reset.c │ │ │ │ │ ├── atomic.c │ │ │ │ │ ├── bitmap.c │ │ │ │ │ ├── ckh.c │ │ │ │ │ ├── decay.c │ │ │ │ │ ├── fork.c │ │ │ │ │ ├── hash.c │ │ │ │ │ ├── junk.c │ │ │ │ │ ├── junk_alloc.c │ │ │ │ │ ├── junk_free.c │ │ │ │ │ ├── lg_chunk.c │ │ │ │ │ ├── mallctl.c │ │ │ │ │ ├── math.c │ │ │ │ │ ├── mq.c │ │ │ │ │ ├── mtx.c │ │ │ │ │ ├── nstime.c │ │ │ │ │ ├── ph.c │ │ │ │ │ ├── prng.c │ │ │ │ │ ├── prof_accum.c │ │ │ │ │ ├── prof_active.c │ │ │ │ │ ├── prof_gdump.c │ │ │ │ │ ├── prof_idump.c │ │ │ │ │ ├── prof_reset.c │ │ │ │ │ ├── prof_thread_name.c │ │ │ │ │ ├── ql.c │ │ │ │ │ ├── qr.c │ │ │ │ │ ├── quarantine.c │ │ │ │ │ ├── rb.c │ │ │ │ │ ├── rtree.c │ │ │ │ │ ├── run_quantize.c │ │ │ │ │ ├── size_classes.c │ │ │ │ │ ├── smoothstep.c │ │ │ │ │ ├── stats.c │ │ │ │ │ ├── ticker.c │ │ │ │ │ ├── tsd.c │ │ │ │ │ ├── util.c │ │ │ │ │ ├── witness.c │ │ │ │ │ └── zero.c │ │ │ │ ├── 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 │ │ │ │ └── update-jemalloc.sh │ │ │ ├── redis.conf │ │ │ ├── runtest │ │ │ ├── runtest-cluster │ │ │ ├── runtest-sentinel │ │ │ ├── sentinel.conf │ │ │ ├── src/ │ │ │ │ ├── .gitignore │ │ │ │ ├── Makefile │ │ │ │ ├── Makefile.dep │ │ │ │ ├── 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 │ │ │ │ ├── bio.c │ │ │ │ ├── bio.h │ │ │ │ ├── bitops.c │ │ │ │ ├── blocked.c │ │ │ │ ├── cluster.c │ │ │ │ ├── cluster.h │ │ │ │ ├── config.c │ │ │ │ ├── config.h │ │ │ │ ├── crc16.c │ │ │ │ ├── crc32.c │ │ │ │ ├── crc64.c │ │ │ │ ├── crc64.h │ │ │ │ ├── db.c │ │ │ │ ├── debug.c │ │ │ │ ├── debugmacro.h │ │ │ │ ├── dict.c │ │ │ │ ├── dict.h │ │ │ │ ├── endianconv.c │ │ │ │ ├── endianconv.h │ │ │ │ ├── fmacros.h │ │ │ │ ├── geo.c │ │ │ │ ├── geo.h │ │ │ │ ├── help.h │ │ │ │ ├── hyperloglog.c │ │ │ │ ├── intset.c │ │ │ │ ├── intset.h │ │ │ │ ├── latency.c │ │ │ │ ├── latency.h │ │ │ │ ├── lzf.h │ │ │ │ ├── lzfP.h │ │ │ │ ├── lzf_c.c │ │ │ │ ├── lzf_d.c │ │ │ │ ├── memtest.c │ │ │ │ ├── mkreleasehdr.sh │ │ │ │ ├── multi.c │ │ │ │ ├── networking.c │ │ │ │ ├── notify.c │ │ │ │ ├── object.c │ │ │ │ ├── pqsort.c │ │ │ │ ├── pqsort.h │ │ │ │ ├── pubsub.c │ │ │ │ ├── quicklist.c │ │ │ │ ├── quicklist.h │ │ │ │ ├── rand.c │ │ │ │ ├── rand.h │ │ │ │ ├── rdb.c │ │ │ │ ├── rdb.h │ │ │ │ ├── redis-benchmark.c │ │ │ │ ├── redis-check-aof.c │ │ │ │ ├── redis-check-rdb.c │ │ │ │ ├── redis-cli.c │ │ │ │ ├── redis-trib.rb │ │ │ │ ├── redisassert.h │ │ │ │ ├── release.c │ │ │ │ ├── replication.c │ │ │ │ ├── rio.c │ │ │ │ ├── rio.h │ │ │ │ ├── scripting.c │ │ │ │ ├── sds.c │ │ │ │ ├── sds.h │ │ │ │ ├── sdsalloc.h │ │ │ │ ├── sentinel.c │ │ │ │ ├── server.c │ │ │ │ ├── server.h │ │ │ │ ├── setproctitle.c │ │ │ │ ├── sha1.c │ │ │ │ ├── sha1.h │ │ │ │ ├── slots.c │ │ │ │ ├── slowlog.c │ │ │ │ ├── slowlog.h │ │ │ │ ├── solarisfixes.h │ │ │ │ ├── sort.c │ │ │ │ ├── sparkline.c │ │ │ │ ├── sparkline.h │ │ │ │ ├── syncio.c │ │ │ │ ├── t_hash.c │ │ │ │ ├── t_list.c │ │ │ │ ├── t_set.c │ │ │ │ ├── t_string.c │ │ │ │ ├── t_zset.c │ │ │ │ ├── testhelp.h │ │ │ │ ├── util.c │ │ │ │ ├── util.h │ │ │ │ ├── valgrind.sup │ │ │ │ ├── version.h │ │ │ │ ├── ziplist.c │ │ │ │ ├── ziplist.h │ │ │ │ ├── zipmap.c │ │ │ │ ├── zipmap.h │ │ │ │ ├── zmalloc.c │ │ │ │ └── zmalloc.h │ │ │ ├── tests/ │ │ │ │ ├── assets/ │ │ │ │ │ └── default.conf │ │ │ │ ├── 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 │ │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ │ └── onlydots.tcl │ │ │ │ │ │ └── includes/ │ │ │ │ │ │ └── init-tests.tcl │ │ │ │ │ └── tmp/ │ │ │ │ │ └── .gitignore │ │ │ │ ├── helpers/ │ │ │ │ │ ├── bg_complex_data.tcl │ │ │ │ │ └── gen_write_load.tcl │ │ │ │ ├── instances.tcl │ │ │ │ ├── integration/ │ │ │ │ │ ├── aof-race.tcl │ │ │ │ │ ├── aof.tcl │ │ │ │ │ ├── convert-zipmap-hash-on-load.tcl │ │ │ │ │ ├── logging.tcl │ │ │ │ │ ├── rdb.tcl │ │ │ │ │ ├── redis-cli.tcl │ │ │ │ │ ├── replication-2.tcl │ │ │ │ │ ├── replication-3.tcl │ │ │ │ │ ├── replication-4.tcl │ │ │ │ │ ├── replication-psync.tcl │ │ │ │ │ └── replication.tcl │ │ │ │ ├── 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 │ │ │ │ │ │ └── includes/ │ │ │ │ │ │ └── init-tests.tcl │ │ │ │ │ └── tmp/ │ │ │ │ │ └── .gitignore │ │ │ │ ├── support/ │ │ │ │ │ ├── cluster.tcl │ │ │ │ │ ├── redis.tcl │ │ │ │ │ ├── server.tcl │ │ │ │ │ ├── test.tcl │ │ │ │ │ ├── tmpfile.tcl │ │ │ │ │ └── util.tcl │ │ │ │ ├── test_helper.tcl │ │ │ │ └── unit/ │ │ │ │ ├── aofrw.tcl │ │ │ │ ├── auth.tcl │ │ │ │ ├── bitfield.tcl │ │ │ │ ├── bitops.tcl │ │ │ │ ├── dump.tcl │ │ │ │ ├── expire.tcl │ │ │ │ ├── geo.tcl │ │ │ │ ├── hyperloglog.tcl │ │ │ │ ├── introspection-2.tcl │ │ │ │ ├── introspection.tcl │ │ │ │ ├── keyspace.tcl │ │ │ │ ├── latency-monitor.tcl │ │ │ │ ├── limits.tcl │ │ │ │ ├── maxmemory.tcl │ │ │ │ ├── memefficiency.tcl │ │ │ │ ├── multi.tcl │ │ │ │ ├── obuf-limits.tcl │ │ │ │ ├── other.tcl │ │ │ │ ├── printver.tcl │ │ │ │ ├── protocol.tcl │ │ │ │ ├── pubsub.tcl │ │ │ │ ├── quit.tcl │ │ │ │ ├── scan.tcl │ │ │ │ ├── scripting.tcl │ │ │ │ ├── slowlog.tcl │ │ │ │ ├── sort.tcl │ │ │ │ └── type/ │ │ │ │ ├── hash.tcl │ │ │ │ ├── incr.tcl │ │ │ │ ├── list-2.tcl │ │ │ │ ├── list-3.tcl │ │ │ │ ├── list-common.tcl │ │ │ │ ├── list.tcl │ │ │ │ ├── set.tcl │ │ │ │ ├── string.tcl │ │ │ │ └── zset.tcl │ │ │ └── utils/ │ │ │ ├── build-static-symbols.tcl │ │ │ ├── cluster_fail_time.tcl │ │ │ ├── corrupt_rdb.c │ │ │ ├── create-cluster/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README │ │ │ │ └── create-cluster │ │ │ ├── generate-command-help.rb │ │ │ ├── hashtable/ │ │ │ │ ├── README │ │ │ │ └── rehashing.c │ │ │ ├── hyperloglog/ │ │ │ │ ├── .gitignore │ │ │ │ ├── hll-err.rb │ │ │ │ └── hll-gnuplot-graph.rb │ │ │ ├── install_server.sh │ │ │ ├── lru/ │ │ │ │ ├── README │ │ │ │ └── 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 │ │ │ ├── speed-regression.tcl │ │ │ └── whatisdoing.sh │ │ ├── redis-3.2.8/ │ │ │ ├── .gitignore │ │ │ ├── 00-RELEASENOTES │ │ │ ├── BUGS │ │ │ ├── CONTRIBUTING │ │ │ ├── COPYING │ │ │ ├── INSTALL │ │ │ ├── MANIFESTO │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── deps/ │ │ │ │ ├── Makefile │ │ │ │ ├── README.md │ │ │ │ ├── geohash-int/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── geohash.c │ │ │ │ │ ├── geohash.h │ │ │ │ │ ├── geohash_helper.c │ │ │ │ │ └── geohash_helper.h │ │ │ │ ├── hiredis/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ ├── COPYING │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README.md │ │ │ │ │ ├── adapters/ │ │ │ │ │ │ ├── ae.h │ │ │ │ │ │ ├── libev.h │ │ │ │ │ │ ├── libevent.h │ │ │ │ │ │ └── libuv.h │ │ │ │ │ ├── async.c │ │ │ │ │ ├── async.h │ │ │ │ │ ├── dict.c │ │ │ │ │ ├── dict.h │ │ │ │ │ ├── examples/ │ │ │ │ │ │ ├── example-ae.c │ │ │ │ │ │ ├── example-libev.c │ │ │ │ │ │ ├── example-libevent.c │ │ │ │ │ │ ├── example-libuv.c │ │ │ │ │ │ └── example.c │ │ │ │ │ ├── fmacros.h │ │ │ │ │ ├── hiredis.c │ │ │ │ │ ├── hiredis.h │ │ │ │ │ ├── net.c │ │ │ │ │ ├── net.h │ │ │ │ │ ├── sds.c │ │ │ │ │ ├── sds.h │ │ │ │ │ ├── sdsalloc.h │ │ │ │ │ ├── test.c │ │ │ │ │ └── zmalloc.h │ │ │ │ ├── jemalloc/ │ │ │ │ │ ├── .autom4te.cfg │ │ │ │ │ ├── .gitattributes │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── COPYING │ │ │ │ │ ├── ChangeLog │ │ │ │ │ ├── INSTALL │ │ │ │ │ ├── Makefile.in │ │ │ │ │ ├── README │ │ │ │ │ ├── VERSION │ │ │ │ │ ├── autogen.sh │ │ │ │ │ ├── bin/ │ │ │ │ │ │ ├── jemalloc-config.in │ │ │ │ │ │ ├── jemalloc.sh.in │ │ │ │ │ │ └── jeprof.in │ │ │ │ │ ├── config.guess │ │ │ │ │ ├── config.stamp.in │ │ │ │ │ ├── config.sub │ │ │ │ │ ├── configure │ │ │ │ │ ├── configure.ac │ │ │ │ │ ├── coverage.sh │ │ │ │ │ ├── doc/ │ │ │ │ │ │ ├── html.xsl.in │ │ │ │ │ │ ├── jemalloc.xml.in │ │ │ │ │ │ ├── manpages.xsl.in │ │ │ │ │ │ └── stylesheet.xsl │ │ │ │ │ ├── include/ │ │ │ │ │ │ ├── jemalloc/ │ │ │ │ │ │ │ ├── internal/ │ │ │ │ │ │ │ │ ├── arena.h │ │ │ │ │ │ │ │ ├── atomic.h │ │ │ │ │ │ │ │ ├── base.h │ │ │ │ │ │ │ │ ├── bitmap.h │ │ │ │ │ │ │ │ ├── chunk.h │ │ │ │ │ │ │ │ ├── chunk_dss.h │ │ │ │ │ │ │ │ ├── chunk_mmap.h │ │ │ │ │ │ │ │ ├── ckh.h │ │ │ │ │ │ │ │ ├── ctl.h │ │ │ │ │ │ │ │ ├── extent.h │ │ │ │ │ │ │ │ ├── hash.h │ │ │ │ │ │ │ │ ├── huge.h │ │ │ │ │ │ │ │ ├── jemalloc_internal.h.in │ │ │ │ │ │ │ │ ├── jemalloc_internal_decls.h │ │ │ │ │ │ │ │ ├── jemalloc_internal_defs.h.in │ │ │ │ │ │ │ │ ├── jemalloc_internal_macros.h │ │ │ │ │ │ │ │ ├── mb.h │ │ │ │ │ │ │ │ ├── mutex.h │ │ │ │ │ │ │ │ ├── pages.h │ │ │ │ │ │ │ │ ├── private_namespace.sh │ │ │ │ │ │ │ │ ├── private_symbols.txt │ │ │ │ │ │ │ │ ├── private_unnamespace.sh │ │ │ │ │ │ │ │ ├── prng.h │ │ │ │ │ │ │ │ ├── prof.h │ │ │ │ │ │ │ │ ├── public_namespace.sh │ │ │ │ │ │ │ │ ├── public_unnamespace.sh │ │ │ │ │ │ │ │ ├── ql.h │ │ │ │ │ │ │ │ ├── qr.h │ │ │ │ │ │ │ │ ├── quarantine.h │ │ │ │ │ │ │ │ ├── rb.h │ │ │ │ │ │ │ │ ├── rtree.h │ │ │ │ │ │ │ │ ├── size_classes.sh │ │ │ │ │ │ │ │ ├── stats.h │ │ │ │ │ │ │ │ ├── tcache.h │ │ │ │ │ │ │ │ ├── tsd.h │ │ │ │ │ │ │ │ ├── util.h │ │ │ │ │ │ │ │ └── valgrind.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 │ │ │ │ │ ├── install-sh │ │ │ │ │ ├── jemalloc.pc.in │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── arena.c │ │ │ │ │ │ ├── atomic.c │ │ │ │ │ │ ├── base.c │ │ │ │ │ │ ├── bitmap.c │ │ │ │ │ │ ├── chunk.c │ │ │ │ │ │ ├── chunk_dss.c │ │ │ │ │ │ ├── chunk_mmap.c │ │ │ │ │ │ ├── ckh.c │ │ │ │ │ │ ├── ctl.c │ │ │ │ │ │ ├── extent.c │ │ │ │ │ │ ├── hash.c │ │ │ │ │ │ ├── huge.c │ │ │ │ │ │ ├── jemalloc.c │ │ │ │ │ │ ├── mb.c │ │ │ │ │ │ ├── mutex.c │ │ │ │ │ │ ├── pages.c │ │ │ │ │ │ ├── prof.c │ │ │ │ │ │ ├── quarantine.c │ │ │ │ │ │ ├── rtree.c │ │ │ │ │ │ ├── stats.c │ │ │ │ │ │ ├── tcache.c │ │ │ │ │ │ ├── tsd.c │ │ │ │ │ │ ├── util.c │ │ │ │ │ │ ├── valgrind.c │ │ │ │ │ │ └── zone.c │ │ │ │ │ └── test/ │ │ │ │ │ ├── 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 │ │ │ │ │ │ ├── btalloc.h │ │ │ │ │ │ ├── jemalloc_test.h.in │ │ │ │ │ │ ├── jemalloc_test_defs.h.in │ │ │ │ │ │ ├── math.h │ │ │ │ │ │ ├── mq.h │ │ │ │ │ │ ├── mtx.h │ │ │ │ │ │ ├── test.h │ │ │ │ │ │ ├── thd.h │ │ │ │ │ │ └── timer.h │ │ │ │ │ ├── integration/ │ │ │ │ │ │ ├── MALLOCX_ARENA.c │ │ │ │ │ │ ├── aligned_alloc.c │ │ │ │ │ │ ├── allocated.c │ │ │ │ │ │ ├── chunk.c │ │ │ │ │ │ ├── mallocx.c │ │ │ │ │ │ ├── overflow.c │ │ │ │ │ │ ├── posix_memalign.c │ │ │ │ │ │ ├── rallocx.c │ │ │ │ │ │ ├── sdallocx.c │ │ │ │ │ │ ├── thread_arena.c │ │ │ │ │ │ ├── thread_tcache_enabled.c │ │ │ │ │ │ └── xallocx.c │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── SFMT.c │ │ │ │ │ │ ├── btalloc.c │ │ │ │ │ │ ├── btalloc_0.c │ │ │ │ │ │ ├── btalloc_1.c │ │ │ │ │ │ ├── math.c │ │ │ │ │ │ ├── mq.c │ │ │ │ │ │ ├── mtx.c │ │ │ │ │ │ ├── test.c │ │ │ │ │ │ ├── thd.c │ │ │ │ │ │ └── timer.c │ │ │ │ │ ├── stress/ │ │ │ │ │ │ └── microbench.c │ │ │ │ │ ├── test.sh.in │ │ │ │ │ └── unit/ │ │ │ │ │ ├── SFMT.c │ │ │ │ │ ├── atomic.c │ │ │ │ │ ├── bitmap.c │ │ │ │ │ ├── ckh.c │ │ │ │ │ ├── hash.c │ │ │ │ │ ├── junk.c │ │ │ │ │ ├── junk_alloc.c │ │ │ │ │ ├── junk_free.c │ │ │ │ │ ├── lg_chunk.c │ │ │ │ │ ├── mallctl.c │ │ │ │ │ ├── math.c │ │ │ │ │ ├── mq.c │ │ │ │ │ ├── mtx.c │ │ │ │ │ ├── prof_accum.c │ │ │ │ │ ├── prof_active.c │ │ │ │ │ ├── prof_gdump.c │ │ │ │ │ ├── prof_idump.c │ │ │ │ │ ├── prof_reset.c │ │ │ │ │ ├── prof_thread_name.c │ │ │ │ │ ├── ql.c │ │ │ │ │ ├── qr.c │ │ │ │ │ ├── quarantine.c │ │ │ │ │ ├── rb.c │ │ │ │ │ ├── rtree.c │ │ │ │ │ ├── size_classes.c │ │ │ │ │ ├── stats.c │ │ │ │ │ ├── tsd.c │ │ │ │ │ ├── util.c │ │ │ │ │ └── zero.c │ │ │ │ ├── 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 │ │ │ │ └── update-jemalloc.sh │ │ │ ├── patch/ │ │ │ │ ├── Makefile │ │ │ │ ├── codis/ │ │ │ │ │ ├── 0000-redis.patch │ │ │ │ │ ├── 0001-slotsscan.patch │ │ │ │ │ ├── 0002-rehash.patch │ │ │ │ │ ├── 0003-slots_async1.patch │ │ │ │ │ ├── 0004-slots_async2.patch │ │ │ │ │ ├── 0005-slots_async3_lazyfree.patch │ │ │ │ │ ├── 0006-slots_async4_bugfix_1184.patch │ │ │ │ │ ├── 0007-slots_async5_cleanup.patch │ │ │ │ │ └── 0008-slots_async6_select.patch │ │ │ │ ├── redis/ │ │ │ │ │ ├── 0001-Don-t-leak-file-descriptor-on-syncWithMaster.patch │ │ │ │ │ ├── 0002-fix-2883-2857-pipe-fds-leak-when-fork-failed-on-bg-a.patch │ │ │ │ │ ├── 0003-Implement-getKeys-procedure-for-georadius-and-georad.patch │ │ │ │ │ ├── 0004-Test-fix-hopefully-false-PSYNC-failure-like-in-issue.patch │ │ │ │ │ ├── 0005-update-block-free-after-some-diff-data-are-written-t.patch │ │ │ │ │ ├── 0006-Fix-3848-by-closing-the-descriptor-on-error.patch │ │ │ │ │ ├── 0007-Set-lua-time-limit-default-value-at-safe-place.patch │ │ │ │ │ ├── 0008-Fix-zmalloc_get_memory_size-ifdefs-to-actually-use-t.patch │ │ │ │ │ ├── 0009-Fix-preprocessor-if-else-chain-broken-in-order-to-fi.patch │ │ │ │ │ ├── 0010-redis-cli-bigkeys-show-error-when-TYPE-fails.patch │ │ │ │ │ ├── 0011-Redis-3.2.9.patch │ │ │ │ │ ├── 0012-fix-Update-create-cluster-README.patch │ │ │ │ │ ├── 0013-cli-Only-print-elapsed-time-on-OUTPUT_STANDARD.patch │ │ │ │ │ ├── 0014-Fixed-comments-of-slowlog-duration.patch │ │ │ │ │ ├── 0015-fix-server.stat_net_output_bytes-calc-bug.patch │ │ │ │ │ ├── 0016-Fix-set-with-ex-px-option-when-propagated-to-aof.patch │ │ │ │ │ ├── 0017-redis-benchmark-add-t-hset-target.patch │ │ │ │ │ ├── 0018-Optimize-set-command-with-ex-px-when-updating-aof.patch │ │ │ │ │ └── 0019-Aesthetic-changes-to-4068-PR-to-conform-to-Redis-cod.patch │ │ │ │ └── run.sh │ │ │ ├── redis.conf │ │ │ ├── runtest │ │ │ ├── runtest-cluster │ │ │ ├── runtest-sentinel │ │ │ ├── sentinel.conf │ │ │ ├── src/ │ │ │ │ ├── .gitignore │ │ │ │ ├── Makefile │ │ │ │ ├── Makefile.dep │ │ │ │ ├── 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 │ │ │ │ ├── bio.c │ │ │ │ ├── bio.h │ │ │ │ ├── bitops.c │ │ │ │ ├── blocked.c │ │ │ │ ├── cluster.c │ │ │ │ ├── cluster.h │ │ │ │ ├── config.c │ │ │ │ ├── config.h │ │ │ │ ├── crc16.c │ │ │ │ ├── crc32.c │ │ │ │ ├── crc64.c │ │ │ │ ├── crc64.h │ │ │ │ ├── db.c │ │ │ │ ├── debug.c │ │ │ │ ├── debugmacro.h │ │ │ │ ├── dict.c │ │ │ │ ├── dict.h │ │ │ │ ├── endianconv.c │ │ │ │ ├── endianconv.h │ │ │ │ ├── fmacros.h │ │ │ │ ├── geo.c │ │ │ │ ├── geo.h │ │ │ │ ├── help.h │ │ │ │ ├── hyperloglog.c │ │ │ │ ├── intset.c │ │ │ │ ├── intset.h │ │ │ │ ├── latency.c │ │ │ │ ├── latency.h │ │ │ │ ├── lzf.h │ │ │ │ ├── lzfP.h │ │ │ │ ├── lzf_c.c │ │ │ │ ├── lzf_d.c │ │ │ │ ├── memtest.c │ │ │ │ ├── mkreleasehdr.sh │ │ │ │ ├── multi.c │ │ │ │ ├── networking.c │ │ │ │ ├── notify.c │ │ │ │ ├── object.c │ │ │ │ ├── pqsort.c │ │ │ │ ├── pqsort.h │ │ │ │ ├── pubsub.c │ │ │ │ ├── quicklist.c │ │ │ │ ├── quicklist.h │ │ │ │ ├── rand.c │ │ │ │ ├── rand.h │ │ │ │ ├── rdb.c │ │ │ │ ├── rdb.h │ │ │ │ ├── redis-benchmark.c │ │ │ │ ├── redis-check-aof.c │ │ │ │ ├── redis-check-rdb.c │ │ │ │ ├── redis-cli.c │ │ │ │ ├── redis-trib.rb │ │ │ │ ├── redisassert.h │ │ │ │ ├── release.c │ │ │ │ ├── replication.c │ │ │ │ ├── rio.c │ │ │ │ ├── rio.h │ │ │ │ ├── scripting.c │ │ │ │ ├── sds.c │ │ │ │ ├── sds.h │ │ │ │ ├── sdsalloc.h │ │ │ │ ├── sentinel.c │ │ │ │ ├── server.c │ │ │ │ ├── server.h │ │ │ │ ├── setproctitle.c │ │ │ │ ├── sha1.c │ │ │ │ ├── sha1.h │ │ │ │ ├── slots.c │ │ │ │ ├── slots_async.c │ │ │ │ ├── slowlog.c │ │ │ │ ├── slowlog.h │ │ │ │ ├── solarisfixes.h │ │ │ │ ├── sort.c │ │ │ │ ├── sparkline.c │ │ │ │ ├── sparkline.h │ │ │ │ ├── syncio.c │ │ │ │ ├── t_hash.c │ │ │ │ ├── t_list.c │ │ │ │ ├── t_set.c │ │ │ │ ├── t_string.c │ │ │ │ ├── t_zset.c │ │ │ │ ├── testhelp.h │ │ │ │ ├── util.c │ │ │ │ ├── util.h │ │ │ │ ├── valgrind.sup │ │ │ │ ├── version.h │ │ │ │ ├── ziplist.c │ │ │ │ ├── ziplist.h │ │ │ │ ├── zipmap.c │ │ │ │ ├── zipmap.h │ │ │ │ ├── zmalloc.c │ │ │ │ └── zmalloc.h │ │ │ ├── tests/ │ │ │ │ ├── assets/ │ │ │ │ │ └── default.conf │ │ │ │ ├── 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 │ │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ │ └── onlydots.tcl │ │ │ │ │ │ └── includes/ │ │ │ │ │ │ └── init-tests.tcl │ │ │ │ │ └── tmp/ │ │ │ │ │ └── .gitignore │ │ │ │ ├── helpers/ │ │ │ │ │ ├── bg_complex_data.tcl │ │ │ │ │ └── gen_write_load.tcl │ │ │ │ ├── instances.tcl │ │ │ │ ├── integration/ │ │ │ │ │ ├── aof-race.tcl │ │ │ │ │ ├── aof.tcl │ │ │ │ │ ├── convert-zipmap-hash-on-load.tcl │ │ │ │ │ ├── logging.tcl │ │ │ │ │ ├── rdb.tcl │ │ │ │ │ ├── redis-cli.tcl │ │ │ │ │ ├── replication-2.tcl │ │ │ │ │ ├── replication-3.tcl │ │ │ │ │ ├── replication-4.tcl │ │ │ │ │ ├── replication-psync.tcl │ │ │ │ │ └── replication.tcl │ │ │ │ ├── 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 │ │ │ │ │ │ └── includes/ │ │ │ │ │ │ └── init-tests.tcl │ │ │ │ │ └── tmp/ │ │ │ │ │ └── .gitignore │ │ │ │ ├── support/ │ │ │ │ │ ├── cluster.tcl │ │ │ │ │ ├── redis.tcl │ │ │ │ │ ├── server.tcl │ │ │ │ │ ├── test.tcl │ │ │ │ │ ├── tmpfile.tcl │ │ │ │ │ └── util.tcl │ │ │ │ ├── test_helper.tcl │ │ │ │ └── unit/ │ │ │ │ ├── aofrw.tcl │ │ │ │ ├── auth.tcl │ │ │ │ ├── bitfield.tcl │ │ │ │ ├── bitops.tcl │ │ │ │ ├── dump.tcl │ │ │ │ ├── expire.tcl │ │ │ │ ├── geo.tcl │ │ │ │ ├── hyperloglog.tcl │ │ │ │ ├── introspection-2.tcl │ │ │ │ ├── introspection.tcl │ │ │ │ ├── keyspace.tcl │ │ │ │ ├── latency-monitor.tcl │ │ │ │ ├── limits.tcl │ │ │ │ ├── maxmemory.tcl │ │ │ │ ├── memefficiency.tcl │ │ │ │ ├── multi.tcl │ │ │ │ ├── obuf-limits.tcl │ │ │ │ ├── other.tcl │ │ │ │ ├── printver.tcl │ │ │ │ ├── protocol.tcl │ │ │ │ ├── pubsub.tcl │ │ │ │ ├── quit.tcl │ │ │ │ ├── scan.tcl │ │ │ │ ├── scripting.tcl │ │ │ │ ├── slowlog.tcl │ │ │ │ ├── sort.tcl │ │ │ │ └── type/ │ │ │ │ ├── hash.tcl │ │ │ │ ├── incr.tcl │ │ │ │ ├── list-2.tcl │ │ │ │ ├── list-3.tcl │ │ │ │ ├── list-common.tcl │ │ │ │ ├── list.tcl │ │ │ │ ├── set.tcl │ │ │ │ ├── string.tcl │ │ │ │ └── zset.tcl │ │ │ └── utils/ │ │ │ ├── build-static-symbols.tcl │ │ │ ├── cluster_fail_time.tcl │ │ │ ├── corrupt_rdb.c │ │ │ ├── create-cluster/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README │ │ │ │ └── create-cluster │ │ │ ├── generate-command-help.rb │ │ │ ├── hashtable/ │ │ │ │ ├── README │ │ │ │ └── rehashing.c │ │ │ ├── hyperloglog/ │ │ │ │ ├── .gitignore │ │ │ │ ├── hll-err.rb │ │ │ │ └── hll-gnuplot-graph.rb │ │ │ ├── install_server.sh │ │ │ ├── lru/ │ │ │ │ ├── README │ │ │ │ └── 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 │ │ │ ├── speed-regression.tcl │ │ │ └── whatisdoing.sh │ │ ├── redis-test/ │ │ │ ├── .gitignore │ │ │ ├── basic_hash.go │ │ │ ├── basic_incr.go │ │ │ ├── basic_mgrt.go │ │ │ ├── bench/ │ │ │ │ ├── Makefile │ │ │ │ └── benchmark.go │ │ │ ├── conf/ │ │ │ │ ├── 6379.conf │ │ │ │ ├── 6380.conf │ │ │ │ ├── 6479.conf │ │ │ │ └── 6480.conf │ │ │ ├── extra_del.go │ │ │ ├── extra_incr.go │ │ │ ├── extra_memleak.go │ │ │ ├── extra_mget.go │ │ │ ├── run_test.sh │ │ │ ├── tcl/ │ │ │ │ ├── runtest │ │ │ │ └── tests/ │ │ │ │ ├── assets/ │ │ │ │ │ └── default.conf │ │ │ │ ├── helpers/ │ │ │ │ │ ├── bg_complex_data.tcl │ │ │ │ │ └── gen_write_load.tcl │ │ │ │ ├── instances.tcl │ │ │ │ ├── support/ │ │ │ │ │ ├── redis.tcl │ │ │ │ │ ├── server.tcl │ │ │ │ │ ├── test.tcl │ │ │ │ │ ├── tmpfile.tcl │ │ │ │ │ └── util.tcl │ │ │ │ ├── test_helper.tcl │ │ │ │ └── unit/ │ │ │ │ ├── aofrw.tcl │ │ │ │ ├── basic.tcl │ │ │ │ ├── bitops.tcl │ │ │ │ ├── dump.tcl │ │ │ │ ├── expire.tcl │ │ │ │ ├── hyperloglog.tcl │ │ │ │ ├── latency-monitor.tcl │ │ │ │ ├── memefficiency.tcl │ │ │ │ ├── other.tcl │ │ │ │ ├── protocol.tcl │ │ │ │ ├── scripting.tcl │ │ │ │ └── type/ │ │ │ │ ├── hash.tcl │ │ │ │ ├── list-2.tcl │ │ │ │ ├── list-3.tcl │ │ │ │ ├── list-common.tcl │ │ │ │ ├── list.tcl │ │ │ │ ├── set.tcl │ │ │ │ └── zset.tcl │ │ │ ├── test_hset.go │ │ │ ├── test_incr1.go │ │ │ ├── test_incr2.go │ │ │ ├── test_list.go │ │ │ ├── test_mget.go │ │ │ ├── test_mset.go │ │ │ ├── test_pttl.go │ │ │ ├── test_string.go │ │ │ └── utils.go │ │ └── scala-client/ │ │ ├── project/ │ │ │ ├── Build.scala │ │ │ ├── build.properties │ │ │ └── plugins.sbt │ │ └── src/ │ │ ├── main/ │ │ │ └── scala/ │ │ │ ├── codis/ │ │ │ │ ├── CodisClient.scala │ │ │ │ └── CodisLogSource.scala │ │ │ └── redis/ │ │ │ └── DynamicRedisClientPool.scala │ │ └── test/ │ │ └── scala/ │ │ ├── codis/ │ │ │ └── CodisClientSpec.scala │ │ └── redis/ │ │ └── DynamicRedisClientPoolSpec.scala │ └── redis-3.2.11/ │ ├── .gitignore │ ├── 00-RELEASENOTES │ ├── BUGS │ ├── CONTRIBUTING │ ├── COPYING │ ├── INSTALL │ ├── MANIFESTO │ ├── Makefile │ ├── README.md │ ├── deps/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── geohash-int/ │ │ │ ├── Makefile │ │ │ ├── geohash.c │ │ │ ├── geohash.h │ │ │ ├── geohash_helper.c │ │ │ └── geohash_helper.h │ │ ├── hiredis/ │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── COPYING │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── adapters/ │ │ │ │ ├── ae.h │ │ │ │ ├── libev.h │ │ │ │ ├── libevent.h │ │ │ │ └── libuv.h │ │ │ ├── async.c │ │ │ ├── async.h │ │ │ ├── dict.c │ │ │ ├── dict.h │ │ │ ├── examples/ │ │ │ │ ├── example-ae.c │ │ │ │ ├── example-libev.c │ │ │ │ ├── example-libevent.c │ │ │ │ ├── example-libuv.c │ │ │ │ └── example.c │ │ │ ├── fmacros.h │ │ │ ├── hiredis.c │ │ │ ├── hiredis.h │ │ │ ├── net.c │ │ │ ├── net.h │ │ │ ├── sds.c │ │ │ ├── sds.h │ │ │ ├── sdsalloc.h │ │ │ ├── test.c │ │ │ └── zmalloc.h │ │ ├── jemalloc/ │ │ │ ├── .autom4te.cfg │ │ │ ├── .gitattributes │ │ │ ├── .gitignore │ │ │ ├── COPYING │ │ │ ├── ChangeLog │ │ │ ├── INSTALL │ │ │ ├── Makefile.in │ │ │ ├── README │ │ │ ├── VERSION │ │ │ ├── autogen.sh │ │ │ ├── bin/ │ │ │ │ ├── jemalloc-config.in │ │ │ │ ├── jemalloc.sh.in │ │ │ │ └── jeprof.in │ │ │ ├── config.guess │ │ │ ├── config.stamp.in │ │ │ ├── config.sub │ │ │ ├── configure │ │ │ ├── configure.ac │ │ │ ├── coverage.sh │ │ │ ├── doc/ │ │ │ │ ├── html.xsl.in │ │ │ │ ├── jemalloc.xml.in │ │ │ │ ├── manpages.xsl.in │ │ │ │ └── stylesheet.xsl │ │ │ ├── include/ │ │ │ │ ├── jemalloc/ │ │ │ │ │ ├── internal/ │ │ │ │ │ │ ├── arena.h │ │ │ │ │ │ ├── atomic.h │ │ │ │ │ │ ├── base.h │ │ │ │ │ │ ├── bitmap.h │ │ │ │ │ │ ├── chunk.h │ │ │ │ │ │ ├── chunk_dss.h │ │ │ │ │ │ ├── chunk_mmap.h │ │ │ │ │ │ ├── ckh.h │ │ │ │ │ │ ├── ctl.h │ │ │ │ │ │ ├── extent.h │ │ │ │ │ │ ├── hash.h │ │ │ │ │ │ ├── huge.h │ │ │ │ │ │ ├── jemalloc_internal.h.in │ │ │ │ │ │ ├── jemalloc_internal_decls.h │ │ │ │ │ │ ├── jemalloc_internal_defs.h.in │ │ │ │ │ │ ├── jemalloc_internal_macros.h │ │ │ │ │ │ ├── mb.h │ │ │ │ │ │ ├── mutex.h │ │ │ │ │ │ ├── pages.h │ │ │ │ │ │ ├── private_namespace.sh │ │ │ │ │ │ ├── private_symbols.txt │ │ │ │ │ │ ├── private_unnamespace.sh │ │ │ │ │ │ ├── prng.h │ │ │ │ │ │ ├── prof.h │ │ │ │ │ │ ├── public_namespace.sh │ │ │ │ │ │ ├── public_unnamespace.sh │ │ │ │ │ │ ├── ql.h │ │ │ │ │ │ ├── qr.h │ │ │ │ │ │ ├── quarantine.h │ │ │ │ │ │ ├── rb.h │ │ │ │ │ │ ├── rtree.h │ │ │ │ │ │ ├── size_classes.sh │ │ │ │ │ │ ├── stats.h │ │ │ │ │ │ ├── tcache.h │ │ │ │ │ │ ├── tsd.h │ │ │ │ │ │ ├── util.h │ │ │ │ │ │ └── valgrind.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 │ │ │ ├── install-sh │ │ │ ├── jemalloc.pc.in │ │ │ ├── src/ │ │ │ │ ├── arena.c │ │ │ │ ├── atomic.c │ │ │ │ ├── base.c │ │ │ │ ├── bitmap.c │ │ │ │ ├── chunk.c │ │ │ │ ├── chunk_dss.c │ │ │ │ ├── chunk_mmap.c │ │ │ │ ├── ckh.c │ │ │ │ ├── ctl.c │ │ │ │ ├── extent.c │ │ │ │ ├── hash.c │ │ │ │ ├── huge.c │ │ │ │ ├── jemalloc.c │ │ │ │ ├── mb.c │ │ │ │ ├── mutex.c │ │ │ │ ├── pages.c │ │ │ │ ├── prof.c │ │ │ │ ├── quarantine.c │ │ │ │ ├── rtree.c │ │ │ │ ├── stats.c │ │ │ │ ├── tcache.c │ │ │ │ ├── tsd.c │ │ │ │ ├── util.c │ │ │ │ ├── valgrind.c │ │ │ │ └── zone.c │ │ │ └── test/ │ │ │ ├── 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 │ │ │ │ ├── btalloc.h │ │ │ │ ├── jemalloc_test.h.in │ │ │ │ ├── jemalloc_test_defs.h.in │ │ │ │ ├── math.h │ │ │ │ ├── mq.h │ │ │ │ ├── mtx.h │ │ │ │ ├── test.h │ │ │ │ ├── thd.h │ │ │ │ └── timer.h │ │ │ ├── integration/ │ │ │ │ ├── MALLOCX_ARENA.c │ │ │ │ ├── aligned_alloc.c │ │ │ │ ├── allocated.c │ │ │ │ ├── chunk.c │ │ │ │ ├── mallocx.c │ │ │ │ ├── overflow.c │ │ │ │ ├── posix_memalign.c │ │ │ │ ├── rallocx.c │ │ │ │ ├── sdallocx.c │ │ │ │ ├── thread_arena.c │ │ │ │ ├── thread_tcache_enabled.c │ │ │ │ └── xallocx.c │ │ │ ├── src/ │ │ │ │ ├── SFMT.c │ │ │ │ ├── btalloc.c │ │ │ │ ├── btalloc_0.c │ │ │ │ ├── btalloc_1.c │ │ │ │ ├── math.c │ │ │ │ ├── mq.c │ │ │ │ ├── mtx.c │ │ │ │ ├── test.c │ │ │ │ ├── thd.c │ │ │ │ └── timer.c │ │ │ ├── stress/ │ │ │ │ └── microbench.c │ │ │ ├── test.sh.in │ │ │ └── unit/ │ │ │ ├── SFMT.c │ │ │ ├── atomic.c │ │ │ ├── bitmap.c │ │ │ ├── ckh.c │ │ │ ├── hash.c │ │ │ ├── junk.c │ │ │ ├── junk_alloc.c │ │ │ ├── junk_free.c │ │ │ ├── lg_chunk.c │ │ │ ├── mallctl.c │ │ │ ├── math.c │ │ │ ├── mq.c │ │ │ ├── mtx.c │ │ │ ├── prof_accum.c │ │ │ ├── prof_active.c │ │ │ ├── prof_gdump.c │ │ │ ├── prof_idump.c │ │ │ ├── prof_reset.c │ │ │ ├── prof_thread_name.c │ │ │ ├── ql.c │ │ │ ├── qr.c │ │ │ ├── quarantine.c │ │ │ ├── rb.c │ │ │ ├── rtree.c │ │ │ ├── size_classes.c │ │ │ ├── stats.c │ │ │ ├── tsd.c │ │ │ ├── util.c │ │ │ └── zero.c │ │ ├── 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 │ │ └── update-jemalloc.sh │ ├── patch/ │ │ ├── Makefile │ │ ├── codis/ │ │ │ ├── 0000-redis.patch │ │ │ ├── 0001-slotsscan.patch │ │ │ ├── 0002-rehash.patch │ │ │ ├── 0003-slots_async1.patch │ │ │ ├── 0004-slots_async2.patch │ │ │ ├── 0005-slots_async3_lazyfree.patch │ │ │ ├── 0006-slots_async4_bugfix_1184.patch │ │ │ ├── 0007-slots_async5_cleanup.patch │ │ │ └── 0008-slots_async6_select.patch │ │ ├── redis/ │ │ │ ├── 0001-Don-t-leak-file-descriptor-on-syncWithMaster.patch │ │ │ ├── 0002-fix-2883-2857-pipe-fds-leak-when-fork-failed-on-bg-a.patch │ │ │ ├── 0003-Implement-getKeys-procedure-for-georadius-and-georad.patch │ │ │ ├── 0004-Test-fix-hopefully-false-PSYNC-failure-like-in-issue.patch │ │ │ ├── 0005-update-block-free-after-some-diff-data-are-written-t.patch │ │ │ ├── 0006-Fix-3848-by-closing-the-descriptor-on-error.patch │ │ │ ├── 0007-Set-lua-time-limit-default-value-at-safe-place.patch │ │ │ ├── 0008-Fix-zmalloc_get_memory_size-ifdefs-to-actually-use-t.patch │ │ │ ├── 0009-Fix-preprocessor-if-else-chain-broken-in-order-to-fi.patch │ │ │ ├── 0010-redis-cli-bigkeys-show-error-when-TYPE-fails.patch │ │ │ ├── 0011-Redis-3.2.9.patch │ │ │ ├── 0012-fix-Update-create-cluster-README.patch │ │ │ ├── 0013-cli-Only-print-elapsed-time-on-OUTPUT_STANDARD.patch │ │ │ ├── 0014-Fixed-comments-of-slowlog-duration.patch │ │ │ ├── 0015-fix-server.stat_net_output_bytes-calc-bug.patch │ │ │ ├── 0016-Fix-set-with-ex-px-option-when-propagated-to-aof.patch │ │ │ ├── 0017-redis-benchmark-add-t-hset-target.patch │ │ │ ├── 0018-Optimize-set-command-with-ex-px-when-updating-aof.patch │ │ │ ├── 0019-Aesthetic-changes-to-4068-PR-to-conform-to-Redis-cod.patch │ │ │ ├── 0020-Collect-fork-timing-info-only-if-fork-succeeded.patch │ │ │ ├── 0021-Prevent-expirations-and-evictions-while-paused.patch │ │ │ ├── 0022-Removed-duplicate-sys-socket.h-include.patch │ │ │ ├── 0023-Fix-PERSIST-expired-key-resuscitation-issue-4048.patch │ │ │ ├── 0024-Fix-brpop-command-table-entry-and-redirect-blocked-c.patch │ │ │ ├── 0025-Fix-following-issues-in-blocking-commands.patch │ │ │ ├── 0026-Added-GEORADIUS-BYMEMBER-_RO-variants-for-read-only-.patch │ │ │ ├── 0027-Fix-abort-typo-in-Lua-debugger-help-screen.patch │ │ │ ├── 0028-Fix-isHLLObjectOrReply-to-handle-integer-encoded-str.patch │ │ │ ├── 0029-Make-representClusterNodeFlags-more-robust.patch │ │ │ ├── 0030-Fix-lua-ldb-command-log.patch │ │ │ ├── 0031-fix-mismatch-argument.patch │ │ │ ├── 0032-fix-return-wrong-value-of-clusterDelNodeSlots.patch │ │ │ ├── 0033-Don-t-use-extended-Regexp-Syntax.patch │ │ │ ├── 0034-Fixed-issue-1996-Missing-in-help-message-for-redis-b.patch │ │ │ ├── 0035-fix-rewrite-config-auto-aof-rewrite-min-size.patch │ │ │ ├── 0036-Check-that-the-whole-first-argument-is-a-number.patch │ │ │ ├── 0037-Redis-3.2.10.patch │ │ │ ├── 0038-Flush-append-only-buffers-before-existing.patch │ │ │ └── 0039-Redis-3.2.11.patch │ │ └── run.sh │ ├── redis.conf │ ├── runtest │ ├── runtest-cluster │ ├── runtest-sentinel │ ├── sentinel.conf │ ├── src/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── Makefile.dep │ │ ├── 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 │ │ ├── bio.c │ │ ├── bio.h │ │ ├── bitops.c │ │ ├── blocked.c │ │ ├── cluster.c │ │ ├── cluster.h │ │ ├── config.c │ │ ├── config.h │ │ ├── crc16.c │ │ ├── crc32.c │ │ ├── crc64.c │ │ ├── crc64.h │ │ ├── db.c │ │ ├── debug.c │ │ ├── debugmacro.h │ │ ├── dict.c │ │ ├── dict.h │ │ ├── endianconv.c │ │ ├── endianconv.h │ │ ├── fmacros.h │ │ ├── geo.c │ │ ├── geo.h │ │ ├── help.h │ │ ├── hyperloglog.c │ │ ├── intset.c │ │ ├── intset.h │ │ ├── latency.c │ │ ├── latency.h │ │ ├── lzf.h │ │ ├── lzfP.h │ │ ├── lzf_c.c │ │ ├── lzf_d.c │ │ ├── memtest.c │ │ ├── mkreleasehdr.sh │ │ ├── multi.c │ │ ├── networking.c │ │ ├── notify.c │ │ ├── object.c │ │ ├── pqsort.c │ │ ├── pqsort.h │ │ ├── pubsub.c │ │ ├── quicklist.c │ │ ├── quicklist.h │ │ ├── rand.c │ │ ├── rand.h │ │ ├── rdb.c │ │ ├── rdb.h │ │ ├── redis-benchmark.c │ │ ├── redis-check-aof.c │ │ ├── redis-check-rdb.c │ │ ├── redis-cli.c │ │ ├── redis-trib.rb │ │ ├── redisassert.h │ │ ├── release.c │ │ ├── replication.c │ │ ├── rio.c │ │ ├── rio.h │ │ ├── scripting.c │ │ ├── sds.c │ │ ├── sds.h │ │ ├── sdsalloc.h │ │ ├── sentinel.c │ │ ├── server.c │ │ ├── server.h │ │ ├── setproctitle.c │ │ ├── sha1.c │ │ ├── sha1.h │ │ ├── slots.c │ │ ├── slots_async.c │ │ ├── slowlog.c │ │ ├── slowlog.h │ │ ├── solarisfixes.h │ │ ├── sort.c │ │ ├── sparkline.c │ │ ├── sparkline.h │ │ ├── syncio.c │ │ ├── t_hash.c │ │ ├── t_list.c │ │ ├── t_set.c │ │ ├── t_string.c │ │ ├── t_zset.c │ │ ├── testhelp.h │ │ ├── util.c │ │ ├── util.h │ │ ├── valgrind.sup │ │ ├── version.h │ │ ├── ziplist.c │ │ ├── ziplist.h │ │ ├── zipmap.c │ │ ├── zipmap.h │ │ ├── zmalloc.c │ │ └── zmalloc.h │ ├── tests/ │ │ ├── assets/ │ │ │ └── default.conf │ │ ├── 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 │ │ │ │ ├── helpers/ │ │ │ │ │ └── onlydots.tcl │ │ │ │ └── includes/ │ │ │ │ └── init-tests.tcl │ │ │ └── tmp/ │ │ │ └── .gitignore │ │ ├── helpers/ │ │ │ ├── bg_complex_data.tcl │ │ │ └── gen_write_load.tcl │ │ ├── instances.tcl │ │ ├── integration/ │ │ │ ├── aof-race.tcl │ │ │ ├── aof.tcl │ │ │ ├── convert-zipmap-hash-on-load.tcl │ │ │ ├── logging.tcl │ │ │ ├── rdb.tcl │ │ │ ├── redis-cli.tcl │ │ │ ├── replication-2.tcl │ │ │ ├── replication-3.tcl │ │ │ ├── replication-4.tcl │ │ │ ├── replication-psync.tcl │ │ │ └── replication.tcl │ │ ├── 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 │ │ │ │ └── includes/ │ │ │ │ └── init-tests.tcl │ │ │ └── tmp/ │ │ │ └── .gitignore │ │ ├── support/ │ │ │ ├── cluster.tcl │ │ │ ├── redis.tcl │ │ │ ├── server.tcl │ │ │ ├── test.tcl │ │ │ ├── tmpfile.tcl │ │ │ └── util.tcl │ │ ├── test_helper.tcl │ │ └── unit/ │ │ ├── aofrw.tcl │ │ ├── auth.tcl │ │ ├── bitfield.tcl │ │ ├── bitops.tcl │ │ ├── dump.tcl │ │ ├── expire.tcl │ │ ├── geo.tcl │ │ ├── hyperloglog.tcl │ │ ├── introspection-2.tcl │ │ ├── introspection.tcl │ │ ├── keyspace.tcl │ │ ├── latency-monitor.tcl │ │ ├── limits.tcl │ │ ├── maxmemory.tcl │ │ ├── memefficiency.tcl │ │ ├── multi.tcl │ │ ├── obuf-limits.tcl │ │ ├── other.tcl │ │ ├── printver.tcl │ │ ├── protocol.tcl │ │ ├── pubsub.tcl │ │ ├── quit.tcl │ │ ├── scan.tcl │ │ ├── scripting.tcl │ │ ├── slowlog.tcl │ │ ├── sort.tcl │ │ └── type/ │ │ ├── hash.tcl │ │ ├── incr.tcl │ │ ├── list-2.tcl │ │ ├── list-3.tcl │ │ ├── list-common.tcl │ │ ├── list.tcl │ │ ├── set.tcl │ │ ├── string.tcl │ │ └── zset.tcl │ └── utils/ │ ├── build-static-symbols.tcl │ ├── cluster_fail_time.tcl │ ├── corrupt_rdb.c │ ├── create-cluster/ │ │ ├── .gitignore │ │ ├── README │ │ └── create-cluster │ ├── generate-command-help.rb │ ├── hashtable/ │ │ ├── README │ │ └── rehashing.c │ ├── hyperloglog/ │ │ ├── .gitignore │ │ ├── hll-err.rb │ │ └── hll-gnuplot-graph.rb │ ├── install_server.sh │ ├── lru/ │ │ ├── README │ │ └── 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 │ ├── speed-regression.tcl │ └── whatisdoing.sh ├── kubernetes/ │ ├── README.md │ ├── codis-dashboard.yaml │ ├── codis-fe.yaml │ ├── codis-ha.yaml │ ├── codis-proxy.yaml │ ├── codis-server.yaml │ ├── codis-service.yaml │ ├── start.sh │ └── zookeeper/ │ ├── zookeeper-service.yaml │ └── zookeeper.yaml ├── pkg/ │ ├── models/ │ │ ├── action.go │ │ ├── client.go │ │ ├── encode.go │ │ ├── etcd/ │ │ │ └── etcdclient.go │ │ ├── fs/ │ │ │ └── fsclient.go │ │ ├── group.go │ │ ├── proxy.go │ │ ├── sentinel.go │ │ ├── slots.go │ │ ├── sorter.go │ │ ├── store.go │ │ ├── topom.go │ │ └── zk/ │ │ └── zkclient.go │ ├── proxy/ │ │ ├── backend.go │ │ ├── backend_test.go │ │ ├── config.go │ │ ├── delay.go │ │ ├── forward.go │ │ ├── jodis.go │ │ ├── mapper.go │ │ ├── mapper_test.go │ │ ├── metrics.go │ │ ├── proxy.go │ │ ├── proxy_api.go │ │ ├── proxy_test.go │ │ ├── redis/ │ │ │ ├── conn.go │ │ │ ├── conn_test.go │ │ │ ├── decoder.go │ │ │ ├── decoder_test.go │ │ │ ├── encoder.go │ │ │ ├── encoder_test.go │ │ │ └── resp.go │ │ ├── request.go │ │ ├── request_test.go │ │ ├── router.go │ │ ├── session.go │ │ ├── slots.go │ │ └── stats.go │ ├── topom/ │ │ ├── .gitignore │ │ ├── config.go │ │ ├── context.go │ │ ├── context_test.go │ │ ├── topom.go │ │ ├── topom_action.go │ │ ├── topom_action_test.go │ │ ├── topom_api.go │ │ ├── topom_api_test.go │ │ ├── topom_cache.go │ │ ├── topom_cache_test.go │ │ ├── topom_group.go │ │ ├── topom_group_test.go │ │ ├── topom_proxy.go │ │ ├── topom_proxy_test.go │ │ ├── topom_sentinel.go │ │ ├── topom_slots.go │ │ ├── topom_slots_test.go │ │ ├── topom_stats.go │ │ ├── topom_stats_test.go │ │ └── topom_test.go │ └── utils/ │ ├── args.go │ ├── assert/ │ │ └── assert.go │ ├── bufio2/ │ │ ├── bufio.go │ │ ├── bufio_test.go │ │ └── slice.go │ ├── bytesize/ │ │ ├── bytesize.go │ │ └── bytesize_test.go │ ├── errors/ │ │ └── errors.go │ ├── log/ │ │ ├── log.go │ │ └── rolling.go │ ├── math2/ │ │ ├── math.go │ │ └── math_test.go │ ├── redis/ │ │ ├── client.go │ │ └── sentinel.go │ ├── resolver.go │ ├── resolver_test.go │ ├── rpc/ │ │ ├── api.go │ │ └── crypto.go │ ├── sync2/ │ │ ├── atomic2/ │ │ │ ├── atomic64.go │ │ │ └── bool.go │ │ └── future.go │ ├── timesize/ │ │ ├── timesize.go │ │ └── timesize_test.go │ ├── trace/ │ │ └── trace.go │ ├── unsafe2/ │ │ ├── cgo_malloc.go │ │ ├── cgo_slice.go │ │ ├── go_slice.go │ │ ├── je_malloc.go │ │ ├── slice.go │ │ ├── slice_test.go │ │ ├── string.go │ │ └── string_test.go │ ├── usage.go │ ├── usage_linux.go │ └── usage_rusage.go ├── scripts/ │ ├── .gitignore │ ├── docker.sh │ └── static_slots.py ├── vendor/ │ ├── github.com/ │ │ ├── BurntSushi/ │ │ │ └── toml/ │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── COMPATIBLE │ │ │ ├── COPYING │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── decode.go │ │ │ ├── decode_meta.go │ │ │ ├── doc.go │ │ │ ├── encode.go │ │ │ ├── encoding_types.go │ │ │ ├── encoding_types_1.1.go │ │ │ ├── lex.go │ │ │ ├── parse.go │ │ │ ├── session.vim │ │ │ ├── type_check.go │ │ │ └── type_fields.go │ │ ├── coreos/ │ │ │ └── etcd/ │ │ │ ├── LICENSE │ │ │ ├── NOTICE │ │ │ ├── client/ │ │ │ │ ├── README.md │ │ │ │ ├── auth_role.go │ │ │ │ ├── auth_user.go │ │ │ │ ├── cancelreq.go │ │ │ │ ├── client.go │ │ │ │ ├── cluster_error.go │ │ │ │ ├── curl.go │ │ │ │ ├── discover.go │ │ │ │ ├── doc.go │ │ │ │ ├── keys.generated.go │ │ │ │ ├── keys.go │ │ │ │ ├── members.go │ │ │ │ ├── srv.go │ │ │ │ └── util.go │ │ │ └── pkg/ │ │ │ ├── pathutil/ │ │ │ │ └── path.go │ │ │ └── types/ │ │ │ ├── doc.go │ │ │ ├── id.go │ │ │ ├── set.go │ │ │ ├── slice.go │ │ │ ├── urls.go │ │ │ └── urlsmap.go │ │ ├── docopt/ │ │ │ └── docopt-go/ │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── docopt.go │ │ │ ├── test_golang.docopt │ │ │ └── testcases.docopt │ │ ├── emirpasic/ │ │ │ └── gods/ │ │ │ ├── LICENSE │ │ │ ├── containers/ │ │ │ │ ├── containers.go │ │ │ │ ├── enumerable.go │ │ │ │ ├── iterator.go │ │ │ │ └── serialization.go │ │ │ ├── trees/ │ │ │ │ ├── redblacktree/ │ │ │ │ │ ├── iterator.go │ │ │ │ │ ├── redblacktree.go │ │ │ │ │ └── serialization.go │ │ │ │ └── trees.go │ │ │ └── utils/ │ │ │ ├── comparator.go │ │ │ ├── sort.go │ │ │ └── utils.go │ │ ├── garyburd/ │ │ │ └── redigo/ │ │ │ ├── LICENSE │ │ │ ├── internal/ │ │ │ │ └── commandinfo.go │ │ │ └── redis/ │ │ │ ├── conn.go │ │ │ ├── doc.go │ │ │ ├── go17.go │ │ │ ├── log.go │ │ │ ├── pool.go │ │ │ ├── pre_go17.go │ │ │ ├── pubsub.go │ │ │ ├── redis.go │ │ │ ├── reply.go │ │ │ ├── scan.go │ │ │ └── script.go │ │ ├── go-martini/ │ │ │ └── martini/ │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── env.go │ │ │ ├── go_version.go │ │ │ ├── logger.go │ │ │ ├── martini.go │ │ │ ├── recovery.go │ │ │ ├── response_writer.go │ │ │ ├── return_handler.go │ │ │ ├── router.go │ │ │ ├── static.go │ │ │ └── wercker.yml │ │ ├── influxdata/ │ │ │ └── influxdb/ │ │ │ ├── LICENSE │ │ │ ├── LICENSE_OF_DEPENDENCIES.md │ │ │ ├── client/ │ │ │ │ └── v2/ │ │ │ │ ├── client.go │ │ │ │ └── udp.go │ │ │ ├── models/ │ │ │ │ ├── consistency.go │ │ │ │ ├── inline_fnv.go │ │ │ │ ├── inline_strconv_parse.go │ │ │ │ ├── points.go │ │ │ │ ├── rows.go │ │ │ │ ├── statistic.go │ │ │ │ └── time.go │ │ │ └── pkg/ │ │ │ └── escape/ │ │ │ ├── bytes.go │ │ │ └── strings.go │ │ ├── martini-contrib/ │ │ │ ├── binding/ │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── binding.go │ │ │ │ ├── errors.go │ │ │ │ └── wercker.yml │ │ │ ├── gzip/ │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── gzip.go │ │ │ │ └── wercker.yml │ │ │ └── render/ │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── render.go │ │ │ └── wercker.yml │ │ ├── oxtoacart/ │ │ │ └── bpool/ │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bpool.go │ │ │ ├── bufferpool.go │ │ │ ├── bytepool.go │ │ │ └── sizedbufferpool.go │ │ ├── samuel/ │ │ │ └── go-zookeeper/ │ │ │ ├── LICENSE │ │ │ └── zk/ │ │ │ ├── conn.go │ │ │ ├── constants.go │ │ │ ├── dnshostprovider.go │ │ │ ├── flw.go │ │ │ ├── lock.go │ │ │ ├── server_help.go │ │ │ ├── server_java.go │ │ │ ├── structs.go │ │ │ └── util.go │ │ ├── spinlock/ │ │ │ └── jemalloc-go/ │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── help.mk │ │ │ ├── jemalloc-4.4.0/ │ │ │ │ ├── .appveyor.yml │ │ │ │ ├── .autom4te.cfg │ │ │ │ ├── .gitattributes │ │ │ │ ├── .gitignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── COPYING │ │ │ │ ├── ChangeLog │ │ │ │ ├── INSTALL │ │ │ │ ├── Makefile.in │ │ │ │ ├── README │ │ │ │ ├── VERSION │ │ │ │ ├── autogen.sh │ │ │ │ ├── bin/ │ │ │ │ │ ├── jemalloc-config.in │ │ │ │ │ ├── jemalloc.sh.in │ │ │ │ │ └── jeprof.in │ │ │ │ ├── build-aux/ │ │ │ │ │ ├── config.guess │ │ │ │ │ ├── config.sub │ │ │ │ │ └── install-sh │ │ │ │ ├── config.stamp.in │ │ │ │ ├── configure.ac │ │ │ │ ├── coverage.sh │ │ │ │ ├── doc/ │ │ │ │ │ ├── html.xsl.in │ │ │ │ │ ├── jemalloc.xml.in │ │ │ │ │ ├── manpages.xsl.in │ │ │ │ │ └── stylesheet.xsl │ │ │ │ ├── include/ │ │ │ │ │ ├── jemalloc/ │ │ │ │ │ │ ├── internal/ │ │ │ │ │ │ │ ├── arena.h │ │ │ │ │ │ │ ├── assert.h │ │ │ │ │ │ │ ├── atomic.h │ │ │ │ │ │ │ ├── base.h │ │ │ │ │ │ │ ├── bitmap.h │ │ │ │ │ │ │ ├── chunk.h │ │ │ │ │ │ │ ├── chunk_dss.h │ │ │ │ │ │ │ ├── chunk_mmap.h │ │ │ │ │ │ │ ├── ckh.h │ │ │ │ │ │ │ ├── ctl.h │ │ │ │ │ │ │ ├── extent.h │ │ │ │ │ │ │ ├── hash.h │ │ │ │ │ │ │ ├── huge.h │ │ │ │ │ │ │ ├── jemalloc_internal.h.in │ │ │ │ │ │ │ ├── jemalloc_internal_decls.h │ │ │ │ │ │ │ ├── jemalloc_internal_defs.h.in │ │ │ │ │ │ │ ├── jemalloc_internal_macros.h │ │ │ │ │ │ │ ├── mb.h │ │ │ │ │ │ │ ├── mutex.h │ │ │ │ │ │ │ ├── nstime.h │ │ │ │ │ │ │ ├── pages.h │ │ │ │ │ │ │ ├── ph.h │ │ │ │ │ │ │ ├── private_namespace.sh │ │ │ │ │ │ │ ├── private_symbols.txt │ │ │ │ │ │ │ ├── private_unnamespace.sh │ │ │ │ │ │ │ ├── prng.h │ │ │ │ │ │ │ ├── prof.h │ │ │ │ │ │ │ ├── public_namespace.sh │ │ │ │ │ │ │ ├── public_unnamespace.sh │ │ │ │ │ │ │ ├── ql.h │ │ │ │ │ │ │ ├── qr.h │ │ │ │ │ │ │ ├── quarantine.h │ │ │ │ │ │ │ ├── rb.h │ │ │ │ │ │ │ ├── rtree.h │ │ │ │ │ │ │ ├── size_classes.sh │ │ │ │ │ │ │ ├── smoothstep.h │ │ │ │ │ │ │ ├── smoothstep.sh │ │ │ │ │ │ │ ├── spin.h │ │ │ │ │ │ │ ├── stats.h │ │ │ │ │ │ │ ├── tcache.h │ │ │ │ │ │ │ ├── ticker.h │ │ │ │ │ │ │ ├── tsd.h │ │ │ │ │ │ │ ├── util.h │ │ │ │ │ │ │ ├── valgrind.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 │ │ │ │ ├── msvc/ │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ ├── jemalloc_vc2015.sln │ │ │ │ │ └── projects/ │ │ │ │ │ └── vc2015/ │ │ │ │ │ ├── jemalloc/ │ │ │ │ │ │ ├── jemalloc.vcxproj │ │ │ │ │ │ └── jemalloc.vcxproj.filters │ │ │ │ │ └── test_threads/ │ │ │ │ │ ├── test_threads.cpp │ │ │ │ │ ├── test_threads.h │ │ │ │ │ ├── test_threads.vcxproj │ │ │ │ │ ├── test_threads.vcxproj.filters │ │ │ │ │ └── test_threads_main.cpp │ │ │ │ ├── src/ │ │ │ │ │ ├── arena.c │ │ │ │ │ ├── atomic.c │ │ │ │ │ ├── base.c │ │ │ │ │ ├── bitmap.c │ │ │ │ │ ├── chunk.c │ │ │ │ │ ├── chunk_dss.c │ │ │ │ │ ├── chunk_mmap.c │ │ │ │ │ ├── ckh.c │ │ │ │ │ ├── ctl.c │ │ │ │ │ ├── extent.c │ │ │ │ │ ├── hash.c │ │ │ │ │ ├── huge.c │ │ │ │ │ ├── jemalloc.c │ │ │ │ │ ├── mb.c │ │ │ │ │ ├── mutex.c │ │ │ │ │ ├── nstime.c │ │ │ │ │ ├── pages.c │ │ │ │ │ ├── prng.c │ │ │ │ │ ├── prof.c │ │ │ │ │ ├── quarantine.c │ │ │ │ │ ├── rtree.c │ │ │ │ │ ├── spin.c │ │ │ │ │ ├── stats.c │ │ │ │ │ ├── tcache.c │ │ │ │ │ ├── ticker.c │ │ │ │ │ ├── tsd.c │ │ │ │ │ ├── util.c │ │ │ │ │ ├── valgrind.c │ │ │ │ │ ├── witness.c │ │ │ │ │ └── zone.c │ │ │ │ └── test/ │ │ │ │ ├── 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 │ │ │ │ │ ├── btalloc.h │ │ │ │ │ ├── jemalloc_test.h.in │ │ │ │ │ ├── jemalloc_test_defs.h.in │ │ │ │ │ ├── math.h │ │ │ │ │ ├── mq.h │ │ │ │ │ ├── mtx.h │ │ │ │ │ ├── test.h │ │ │ │ │ ├── thd.h │ │ │ │ │ └── timer.h │ │ │ │ ├── integration/ │ │ │ │ │ ├── MALLOCX_ARENA.c │ │ │ │ │ ├── aligned_alloc.c │ │ │ │ │ ├── allocated.c │ │ │ │ │ ├── chunk.c │ │ │ │ │ ├── mallocx.c │ │ │ │ │ ├── overflow.c │ │ │ │ │ ├── posix_memalign.c │ │ │ │ │ ├── rallocx.c │ │ │ │ │ ├── sdallocx.c │ │ │ │ │ ├── thread_arena.c │ │ │ │ │ ├── thread_tcache_enabled.c │ │ │ │ │ └── xallocx.c │ │ │ │ ├── src/ │ │ │ │ │ ├── SFMT.c │ │ │ │ │ ├── btalloc.c │ │ │ │ │ ├── btalloc_0.c │ │ │ │ │ ├── btalloc_1.c │ │ │ │ │ ├── math.c │ │ │ │ │ ├── mq.c │ │ │ │ │ ├── mtx.c │ │ │ │ │ ├── test.c │ │ │ │ │ ├── thd.c │ │ │ │ │ └── timer.c │ │ │ │ ├── stress/ │ │ │ │ │ └── microbench.c │ │ │ │ ├── test.sh.in │ │ │ │ └── unit/ │ │ │ │ ├── SFMT.c │ │ │ │ ├── a0.c │ │ │ │ ├── arena_reset.c │ │ │ │ ├── atomic.c │ │ │ │ ├── bitmap.c │ │ │ │ ├── ckh.c │ │ │ │ ├── decay.c │ │ │ │ ├── fork.c │ │ │ │ ├── hash.c │ │ │ │ ├── junk.c │ │ │ │ ├── junk_alloc.c │ │ │ │ ├── junk_free.c │ │ │ │ ├── lg_chunk.c │ │ │ │ ├── mallctl.c │ │ │ │ ├── math.c │ │ │ │ ├── mq.c │ │ │ │ ├── mtx.c │ │ │ │ ├── nstime.c │ │ │ │ ├── pack.c │ │ │ │ ├── pages.c │ │ │ │ ├── ph.c │ │ │ │ ├── prng.c │ │ │ │ ├── prof_accum.c │ │ │ │ ├── prof_active.c │ │ │ │ ├── prof_gdump.c │ │ │ │ ├── prof_idump.c │ │ │ │ ├── prof_reset.c │ │ │ │ ├── prof_thread_name.c │ │ │ │ ├── ql.c │ │ │ │ ├── qr.c │ │ │ │ ├── quarantine.c │ │ │ │ ├── rb.c │ │ │ │ ├── rtree.c │ │ │ │ ├── run_quantize.c │ │ │ │ ├── size_classes.c │ │ │ │ ├── smoothstep.c │ │ │ │ ├── stats.c │ │ │ │ ├── ticker.c │ │ │ │ ├── tsd.c │ │ │ │ ├── util.c │ │ │ │ ├── witness.c │ │ │ │ └── zero.c │ │ │ ├── jemalloc.go │ │ │ └── jemalloc_test.go │ │ └── ugorji/ │ │ └── go/ │ │ ├── LICENSE │ │ └── codec/ │ │ ├── 0doc.go │ │ ├── README.md │ │ ├── binc.go │ │ ├── cbor.go │ │ ├── decode.go │ │ ├── decode_go.go │ │ ├── decode_go14.go │ │ ├── encode.go │ │ ├── fast-path.generated.go │ │ ├── fast-path.go.tmpl │ │ ├── fast-path.not.go │ │ ├── gen-dec-array.go.tmpl │ │ ├── gen-dec-map.go.tmpl │ │ ├── gen-helper.generated.go │ │ ├── gen-helper.go.tmpl │ │ ├── gen.generated.go │ │ ├── gen.go │ │ ├── gen_15.go │ │ ├── gen_16.go │ │ ├── gen_17.go │ │ ├── helper.go │ │ ├── helper_internal.go │ │ ├── helper_not_unsafe.go │ │ ├── helper_unsafe.go │ │ ├── json.go │ │ ├── msgpack.go │ │ ├── noop.go │ │ ├── prebuild.go │ │ ├── prebuild.sh │ │ ├── rpc.go │ │ ├── simple.go │ │ ├── test-cbor-goldens.json │ │ ├── test.py │ │ ├── tests.sh │ │ └── time.go │ ├── golang.org/ │ │ └── x/ │ │ └── net/ │ │ ├── AUTHORS │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── PATENTS │ │ └── context/ │ │ ├── context.go │ │ ├── go17.go │ │ └── pre_go17.go │ └── gopkg.in/ │ └── alexcesaro/ │ └── statsd.v2/ │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── conn.go │ ├── doc.go │ ├── options.go │ └── statsd.go ├── version └── wandoujia_license.txt