Skip to content

refactor: reduce GC pressure from zero-copy buffer slices under high concurrency#45

Merged
jay-l-e-e merged 2 commits into
mainfrom
refactor/enhance-parser-performance
Jun 22, 2026
Merged

refactor: reduce GC pressure from zero-copy buffer slices under high concurrency#45
jay-l-e-e merged 2 commits into
mainfrom
refactor/enhance-parser-performance

Conversation

@jay-l-e-e

Copy link
Copy Markdown
Contributor

Summary

  • Reduce GC pressure in high-concurrency autopipeline workloads by removing borrowed bulk buffer slices from the RESP parser.
  • Make parsed bulk string replies independent from parser/input buffers, so returned Buffers remain stable across later parsing, buffer growth, and compaction.
  • Update README and website wording to describe the parser as binary-safe with owned buffers instead of zero-copy.

@vercel

vercel Bot commented Jun 22, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
solidis Ready Ready Preview, Comment Jun 22, 2026 3:17pm

@github-actions

Copy link
Copy Markdown
Contributor

🟢 Coverage Report

Overall: 98.72% ████████████████████

Category Coverage Covered / Total
🟢 Statements 98.72% 15698 / 15900
🟢 Branches 95.95% 2608 / 2718
🟢 Functions 98.97% 868 / 877
🟢 Lines 98.72% 15698 / 15900

🟢 sources — 99.23% (1 file below 100%)
File Statements Branch Funcs Lines Uncovered
client.ts 🟢 99.22% 🟡 87.85% 🟢 100% 🟢 99.22% 306-309
index.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
🟢 sources/client — 100% (all files 100%)
File Statements Branch Funcs Lines Uncovered
featured.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
🟢 sources/command — 98.34% (36 files below 100%)
File Statements Branch Funcs Lines Uncovered
acl.cat.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
acl.deluser.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
acl.dryrun.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
acl.genpass.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
acl.getuser.ts 🟢 92.79% 🟡 78.26% 🟢 100% 🟢 92.79% 32-39
acl.help.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
acl.list.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
acl.log.ts 🟢 98.3% 🟢 93.33% 🟢 100% 🟢 98.3% 100-101
acl.save.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
acl.setuser.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
acl.users.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
acl.whoami.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
append.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
auth.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
basic.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bf.add.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bf.card.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bf.exists.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bf.info.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bf.insert.ts 🟢 96% 🟡 87.5% 🟢 100% 🟢 96% 26-27
bf.loadchunk.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bf.madd.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bf.mexists.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bf.reserve.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bf.scandump.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bgrewriteaof.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bgsave.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bitcount.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bitfield.ro.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bitfield.ts 🟢 96.29% 🟡 88.88% 🟢 100% 🟢 96.29% 48-49
bitop.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bitpos.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
blmove.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
blmpop.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
blpop.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
brpop.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
brpoplpush.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bzmpop.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bzpopmax.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
bzpopmin.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
cf.add.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
cf.addnx.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
cf.count.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
cf.del.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
cf.exists.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
cf.info.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
cf.insert.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
cf.insertnx.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
cf.loadchunk.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
cf.mexists.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
cf.reserve.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
cf.scandump.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.caching.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.getname.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.getredir.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.help.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.id.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.info.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.kill.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.list.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.no-evict.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.no-touch.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.pause.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.reply.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.setinfo.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.setname.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.tracking.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.trackinginfo.ts 🟢 97.14% 🟡 75% 🟢 100% 🟢 97.14% 18
client.unblock.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
client.unpause.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
command.count.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
command.docs.ts 🟢 97.2% 🟡 75% 🟢 100% 🟢 97.2% 63-64,83-84
command.getkeys.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
command.getkeysandflags.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
command.help.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
command.list.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
config.get.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
config.help.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
config.resetstat.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
config.rewrite.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
config.set.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
copy.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
dbsize.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
debug.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
decr.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
decrby.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
del.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
dump.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
echo.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
eval.ro.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
eval.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
evalsha.ro.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
evalsha.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
exists.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
expire.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
expireat.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
expiretime.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
failover.ts 🟢 94.28% 🟢 100% 🔴 50% 🟢 94.28% 34-35
fcall.ro.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
fcall.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
flushall.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
flushdb.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
function.delete.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
function.dump.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
function.flush.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
function.help.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
function.kill.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
function.list.ts 🟢 98.05% 🟢 93.75% 🟢 100% 🟢 98.05% 95-96
function.load.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
function.restore.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
function.stats.ts 🟡 86.2% 🔴 50% 🟢 100% 🟡 86.2% 27-34
geoadd.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
geodist.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
geohash.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
geopos.ts 🟢 92% 🟡 81.81% 🟢 100% 🟢 92% 25-26,34-35
georadius.ro.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
georadius.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
georadiusbymember.ro.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
georadiusbymember.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
geosearch.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
geosearchstore.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
get.buffer.ts 🟢 92.3% 🟡 85.71% 🟢 100% 🟢 92.3% 23-24
get.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
getbit.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
getdel.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
getex.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
getrange.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
getset.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hdel.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hello.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hexists.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hexpire.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hexpireat.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hexpiretime.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hget.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hgetall.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hincrby.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hincrbyfloat.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hkeys.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hlen.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hmget.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hmset.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hpersist.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hpexpire.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hpexpireat.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hpexpiretime.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hpttl.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hrandfield.ts 🟢 93.22% 🟡 84.61% 🟢 100% 🟢 93.22% 40-41,55-56
hscan.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hset.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hsetnx.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hstrlen.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
httl.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
hvals.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
incr.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
incrby.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
incrbyfloat.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
index.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
info.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.arrappend.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.arrindex.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.arrinsert.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.arrlen.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.arrpop.ts 🟢 95.12% 🟡 80% 🟢 100% 🟢 95.12% 13-14
json.arrtrim.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.clear.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.debug.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.del.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.forget.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.get.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.merge.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.mget.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.mset.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.numincrby.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.nummultby.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.objkeys.ts 🟢 95.91% 🟢 90% 🟢 100% 🟢 95.91% 33-34
json.objlen.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.resp.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.set.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.strappend.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.strlen.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.toggle.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
json.type.ts 🟢 94.28% 🟡 84.21% 🟢 100% 🟢 94.28% 20-21,29-30
keys.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
lastsave.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
latency.doctor.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
latency.graph.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
latency.help.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
latency.histogram.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
latency.history.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
latency.latest.ts 🟢 91.83% 🟡 83.33% 🟢 100% 🟢 91.83% 34-35,37-38
latency.reset.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
lcs.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
lindex.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
linsert.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
llen.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
lmove.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
lmpop.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
lolwut.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
lpop.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
lpos.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
lpush.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
lpushx.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
lrange.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
lrem.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
lset.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ltrim.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
memory.doctor.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
memory.help.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
memory.malloc-stats.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
memory.purge.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
memory.stats.ts 🟢 96.93% 🟡 88.88% 🟢 100% 🟢 96.93% 18-20
memory.usage.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
mget.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
migrate.ts 🟡 70.58% 🟢 100% 🔴 50% 🟡 70.58% 49-68
module.help.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
module.list.ts 🟢 90.9% 🟡 80% 🟢 100% 🟢 90.9% 17-18
module.load.ts 🔴 56.52% 🟢 100% 🔴 50% 🔴 56.52% 14-23
module.loadex.ts 🔴 67.64% 🟢 100% 🔴 50% 🔴 67.64% 24-34
module.unload.ts 🟡 77.77% 🟢 100% 🔴 50% 🟡 77.77% 8-9
move.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
mset.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
msetnx.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
multi.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
object.encoding.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
object.freq.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
object.help.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
object.idletime.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
object.refcount.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
persist.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
pexpire.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
pexpireat.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
pexpiretime.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
pfadd.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
pfcount.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
pfmerge.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ping.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
pipeline.ts 🟡 87.09% 🟡 71.42% 🟢 100% 🟡 87.09% 14-15,29-30
psetex.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
psubscribe.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
pttl.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
publish.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
pubsub.channels.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
pubsub.help.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
pubsub.numpat.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
pubsub.numsub.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
pubsub.shardchannels.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
pubsub.shardnumsub.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
punsubscribe.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
randomkey.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
rename.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
renamenx.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
replconf.ts 🔴 41.17% 🟢 100% 🔴 50% 🔴 41.17% 8-17
replicaof.ts 🟡 77.77% 🟢 100% 🔴 50% 🟡 77.77% 8-9
reset.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
restore.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
role.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
rpop.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
rpoplpush.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
rpush.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
rpushx.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
sadd.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
save.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
scan.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
scard.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
script.debug.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
script.exists.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
script.flush.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
script.help.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
script.kill.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
script.load.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
sdiff.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
sdiffstore.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
select.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
set.ts 🟢 100% 🟡 84.61% 🟢 100% 🟢 100% 35,37
setbit.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
setex.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
setnx.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
setrange.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
shutdown.ts 🟢 93.93% 🟢 100% 🔴 50% 🟢 93.93% 32-33
sinter.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
sintercard.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
sinterstore.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
sismember.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
slowlog.get.ts 🟢 91.3% 🔴 63.63% 🟢 100% 🟢 91.3% 26-27,31-32,52-53
slowlog.help.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
slowlog.len.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
slowlog.reset.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
smembers.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
smismember.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
smove.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
sort.ro.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
sort.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
spop.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
spublish.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
srandmember.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
srem.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
sscan.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ssubscribe.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
strlen.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
subscribe.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
sunion.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
sunionstore.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
sunsubscribe.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
swapdb.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
sync.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
time.ts 🟢 92.3% 🟡 80% 🟢 100% 🟢 92.3% 23-24
touch.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ts.add.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ts.alter.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ts.create.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ts.createrule.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ts.decrby.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ts.del.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ts.deleterule.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ts.get.ts 🟡 85.1% 🟡 81.81% 🟢 100% 🟡 85.1% 25-26,38-42
ts.incrby.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ts.info.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ts.madd.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ts.mget.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ts.mrange.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ts.mrevrange.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ts.queryindex.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ts.range.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ts.revrange.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
ttl.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
type.ts 🟢 94.28% 🟡 77.77% 🟢 100% 🟢 94.28% 32-33
unlink.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
unsubscribe.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
unwatch.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
wait.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
waitaof.ts 🟢 95.45% 🟡 80% 🟢 100% 🟢 95.45% 40-41
watch.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xack.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xadd.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xautoclaim.ts 🟢 97.29% 🟢 90% 🟢 100% 🟢 97.29% 70-71
xclaim.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xdel.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xgroup.create.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xgroup.createconsumer.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xgroup.delconsumer.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xgroup.destroy.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xgroup.help.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xgroup.setid.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xinfo.consumers.ts 🟢 95% 🟡 83.33% 🟢 100% 🟢 95% 24-25
xinfo.groups.ts 🟢 95.23% 🟡 87.5% 🟢 100% 🟢 95.23% 20-21
xinfo.help.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xinfo.stream.ts 🟢 93.86% 🟡 70.37% 🟢 100% 🟢 93.86% ...,52-53,75-76,81-82,92-93
xlen.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xpending.ts 🟢 100% 🟡 81.25% 🟢 100% 🟢 100% 29,71-72,83-84
xrange.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xread.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xreadgroup.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xrevrange.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xsetid.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
xtrim.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zadd.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zcard.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zcount.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zdiff.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zdiffstore.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zincrby.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zinter.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zintercard.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zinterstore.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zlexcount.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zmpop.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zmscore.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zpopmax.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zpopmin.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zrandmember.ts 🟢 93.54% 🟡 86.66% 🟢 100% 🟢 93.54% 45-46,52-53
zrange.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zrangebylex.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zrangebyscore.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zrangestore.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zrank.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zrem.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zremrangebylex.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zremrangebyscore.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zrevrange.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zrevrangebylex.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zrevrangebyscore.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zrevrank.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zscan.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zscore.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zunion.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
zunionstore.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
🟢 sources/command/utils — 99.86% (1 file below 100%)
File Statements Branch Funcs Lines Uncovered
command.ts 🟢 99.66% 🟢 99.24% 🟢 100% 🟢 99.66% 391-392
index.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
reply.ts 🟢 100% 🟢 98.76% 🟢 100% 🟢 100% 114,301,446
🟢 sources/common — 100% (all files 100%)
File Statements Branch Funcs Lines Uncovered
constants.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
index.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
🟢 sources/common/utils — 99.35% (1 file below 100%)
File Statements Branch Funcs Lines Uncovered
debug.ts 🟢 100% 🟡 86.66% 🟢 100% 🟢 100% 29,40
error.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
index.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
reply.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
request.ts 🟢 97.36% 🟢 94.44% 🟢 100% 🟢 97.36% 72-73
🟢 sources/modules — 98.22% (4 files below 100%)
File Statements Branch Funcs Lines Uncovered
connection.ts 🟢 98.16% 🟢 96.29% 🟢 100% 🟢 98.16% 171-172,225-226,289-290
debug.ts 🟢 91.66% 🟢 100% 🟢 100% 🟢 91.66% 54-61
parser.ts 🟢 99.69% 🟢 99.39% 🟢 100% 🟢 99.69% 360-361
pubsub.ts 🟢 100% 🟢 96% 🟢 100% 🟢 100% 98,110
requester.ts 🟢 97.31% 🟢 94.76% 🟢 97.36% 🟢 97.31% ...,623-624,629-634,639-640
🟢 sources/types — 100% (all files 100%)
File Statements Branch Funcs Lines Uncovered
command.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
index.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
resp.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%
solidis.ts 🟢 100% 🟢 100% 🟢 100% 🟢 100%

@jay-l-e-e jay-l-e-e merged commit 17416b9 into main Jun 22, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant