]> git.saurik.com Git - redis.git/blobdiff - TODO
intset housekeeping
[redis.git] / TODO
diff --git a/TODO b/TODO
index b7d139e9e9e0276c2304540333fbfa3242092285..7b5febcbeaa9a94d8081fadbdec6a094bb2d89f2 100644 (file)
--- a/TODO
+++ b/TODO
@@ -5,12 +5,14 @@ VERSION 2.2 TODO (Optimizations and latency)
 ============================================
 
 * Support for syslog(3).
-* Lower the CPU usage.
-* Lower the RAM usage everywhere possible.
-* Specially encoded Sets (like Hashes).
 * Implement an UDP interface for low-latency operations.
-* What about a special coding that is about storing the "rdb" serialized format instead of the actual value? This can be used when we have LRU in order to super-compress data into memory, for data not accessed frequetly. It's a VM-alike strategy but fully in memory, may reduce the space to hold some dataset in an impressive way. Trivial to implement.
-* Another idea: LRU does not need to be super precise right? Maybe it's a good idea to just put into the skiplist implementing the LRU just the pointer to the key without evne incr/decr business, nor the need to remove the pointer when the key is deleted. There is to think more about that.
+* Use the same pointer of db->dict in db->expire hash table for keys.
+  1) Set the keyptr hash table type key destructor to NULL.
+  2) Don't copy the key in setExpire(), but instead lookup the same key
+     in the dict hash table, and use it.
+  3) Make sure (and add comments about this) that when a key is deleted or
+     an expire is touched, the order is: delete the expire, delete the key.
+  4) Make sure the SETEX command works well in all the cases. Add tests.
 
 VERSION 2.x TODO
 ================