We're excited to announce the first official release of DiceDB! This release marks the foundation of DiceDB as a fork of Valkey, with key enhancements and rebranding to establish its own identity.
What's New
Rebranding and Identity
- DiceDB Branding: Complete rebranding from Valkey to DiceDB with a custom ASCII logo displayed during server startup
- Symlink Binaries: Created
dicedb-*symlinks for allvalkey-*binaries for easier command-line usage - Updated Documentation: Refreshed README.md with a simplified quick start guide and updated COPYING to properly attribute DiceDB contributors while preserving Valkey and Redis license notices
New Features
EVICT Command
Introduced a powerful new EVICT command that provides manual control over key eviction:
EVICT key1 key2 ...- Evicts specific keys and returns their namesEVICT(no arguments) - Evicts one random key and returns its name- Uses the same eviction mechanism as automatic memory pressure eviction
- Triggers
VALKEYMODULE_NOTIFY_PREEVICTIONbefore eviction - Triggers
NOTIFY_EVICTEDafter eviction - Updates
evicted_keysstatistics counter - Compatible with all data types and properly handles expired keys
Pre-Miss Notifications
Added PREMISS notification system to enhance module capabilities:
- New
NOTIFY_PREMISSnotification type allows modules to intercept key lookups before a miss is reported - Added
LOOKUP_NOPREMISSflag to prevent recursive notifications - Modules can safely use
ValkeyModule_Call()within handlers - Similar to pre-eviction notifications, providing a hook for modules to take action on key misses
Infrastructure
- Spill Integration: Added Spill as a Git submodule to support future storage enhancements
Important Notes
- This release maintains compatibility with Valkey and Redis protocols
- All changes to branding are cosmetic and do not affect client interactions or variable names
- The licensing structure properly acknowledges DiceDB, Valkey, and Redis contributors