feat: replace Redis with DragonflyDB
CI / check (push) Successful in 31s
CI / release (push) Skipped
CI / deploy (push) Successful in 57s

- Replace Redis server with DragonflyDB v1.40.1 (Redis protocol compatible)
- Stop redis-server service, enable dragonfly service on 127.0.0.1:6379
- Configure dragonfly in /etc/dragonfly/dragonfly.conf (bind 127.0.0.1, maxmemory 2gb)
- Update .env: remove REDIS_URL reference

Improve database reliability:
- Fix catalog-tree.ts: remove CAST(page_id AS CHAR) to enable index usage (122 rows vs 78k full scan)
- Fix catalog-repair.ts: replace sql.raw() string interpolation with parameterized sql queries using quoteIdentifier()
- Improve redis retry resilience: change retryStrategy to not give up after 3 attempts, enabling automatic reconnect after server restart

Update documentation:
- Update README: replace Redis references with DragonflyDB, add DragonflyDB setup section, update performance features list, update architecture diagram
- biome and typecheck pass clean
This commit is contained in:
openhands committed 2026-08-12 14:34:29 +02:00
1 parent 9463c8d4da
commit 65e3915a5f
4 files changed
+89 -28

No files matched your search

+1 -2
View File
@@ -24,8 +24,7 @@ function createRedis(): Redis | null {
const client = new Redis(url, {
maxRetriesPerRequest: 3,
retryStrategy(times) {
if (times > 3) return null;
return Math.min(times * 200, 2000);
return Math.min(times * 200, 5000);
},
lazyConnect: true,
});