65 Commits

Author SHA1 Message Date
antirez
bd19e43850 high resolution expires API modified to use separated commands. AOF transation to PEXPIREAT of all the expire-style commands fixed. 2011-11-10 17:52:02 +01:00
antirez
b93074be52 TTL, EXPIRE and EXPIREAT now support the milliseconds input/output form 2011-11-09 18:05:35 +01:00
antirez
027876589d Initial support for key expire times with millisecond resolution. RDB version is now 3, new opcoded added for high resolution times. Redis is still able to correctly load RDB version 2. Tests passing but still a work in progress. API to specify milliseconds expires still missing, but the precision of normal expires is now already improved and working. 2011-11-09 16:51:19 +01:00
antirez
d6c3b3004e dict.c API names modified to be more coincise and consistent. 2011-11-08 17:07:55 +01:00
antirez
1c00a9b3eb FLUSHALL now prevents rdbSave() from resetting the dirty counter, so that the command will get replicated and put inside the AOF. This fixes issue #142 2011-10-17 10:31:47 +02:00
antirez
0db621585c FLUSHALL will only perform a blocking SAVE if RDB persistence is configured. 2011-10-17 10:31:34 +02:00
antirez
3fc8eb796c Fix for bug #128 about the RENAME command. 2011-10-10 15:21:19 +02:00
antirez
357f49db2f replaced redisAssert() with redisAssertWithInfo() in a shitload of places. 2011-10-04 18:43:03 +02:00
antirez
a5f5dccd7a don't process EXPIRE with negative TTL or EXPIREAT with time in the past if we are a slave too (see http://groups.google.com/group/redis-db/browse_thread/thread/5a931fefb88b16d5). Also propagate it as DEL. 2011-07-07 16:24:37 +02:00
Hampus Wessman
5292b93ba4 Don't expire keys while loading AOF.
They will be expired (and a DEL will be logged) after the loading is done
instead.
2011-07-07 16:08:30 +02:00
antirez
59f09141f5 diskstore removed 2011-06-25 12:22:03 +02:00
antirez
0b00199553 DB API refactoring. The changes were designed together with Pieter Noordhuis. 2011-06-20 16:42:16 +02:00
antirez
0fd4ab0854 Fixed semantics of CLUSTER SETSLOT, SELECT now only denied in cluster mode if selected DB is not 0 so that MIGRATE still works well. 2011-05-05 18:10:02 +02:00
antirez
135dcfc42c CLUSTER GETKEYSINSLOT implemented 2011-04-29 16:17:58 +02:00
antirez
086fac186f take a hashslot -> keys index, will be used for cluster rehasing 2011-04-28 19:00:33 +02:00
antirez
b2b9d54320 Cluster branch merged to unstable. 2011-03-29 17:51:15 +02:00
antirez
8cc596105b fixed a bug in RENAME getKeys() function 2011-03-28 18:46:22 +02:00
antirez
ab1ab17b2a bug fixed in zunionstore specific getKeys() implementation 2011-03-28 18:21:06 +02:00
antirez
e0fe418dae Fixes to the new preloading / key discovery APIs 2011-03-28 17:54:42 +02:00
antirez
db608dd7e3 new preloading implemented, still EXEC not handled correctly, everything to test 2011-03-23 18:09:17 +01:00
antirez
cf8ab35834 TTL command fixed to work reliably with diskstore 2011-03-04 15:49:01 +01:00
antirez
3e7c76253e master-slave replication fixed, it was not listing any key using KEYS command in the slave. 2011-01-14 09:53:57 +01:00
antirez
f261a5d500 test adapted to run with diskstore, and a few bugs fixed 2011-01-09 18:25:34 +01:00
antirez
e6fdae80f8 source reshaped a bit to play well with a bgsaving thread, still work to do, does not compile. 2011-01-07 18:15:14 +01:00
antirez
540d66c60d fixed logging level for debugging message 2011-01-03 17:40:10 +01:00
antirez
9486677b46 diskstore more fixes 2011-01-03 17:18:37 +01:00
antirez
2257148dbf diskstore bug fixing and negative cache proper implementation 2011-01-03 10:47:39 +01:00
antirez
4d5369b25d FLUSHALL / FLUSHDB for diskstore implemented 2011-01-03 10:17:39 +01:00
antirez
641d1d65cb fixed a bug in diskstore 2011-01-02 21:39:17 +01:00
antirez
9eca9fa91b blocking load fixed with the new design 2011-01-01 21:39:48 +01:00
antirez
db52125d45 implemented a different approach to IO scheduling, so object->storage is no longer used, instead there is a queue and hash table of IO tasks to process, and it is always possible to know what are the scheduled and acrtive IO operations against every single key. 2011-01-01 21:35:56 +01:00
antirez
29273613f0 minor changes to doc and comments 2010-12-31 18:23:31 +01:00
antirez
2bd597cff0 negative caching implemented 2010-12-31 17:32:59 +01:00
antirez
e70f346651 major bug and a dead lock fixed 2010-12-31 14:30:24 +01:00
antirez
29a98602f3 blocking load of keys on lookup -- nor tested, nor finished 2010-12-31 00:18:17 +01:00
antirez
d78225228f short but important comment added 2010-12-30 19:20:23 +01:00
antirez
8b1f644d59 handled DEL command as a special optimized case for disk store 2010-12-30 19:16:59 +01:00
antirez
aa694aae07 diskstore cache bug fixing 2010-12-30 18:37:46 +01:00
antirez
d4970df83f more work done for diskstore without trying to compile, more work needed to build again. 2010-12-30 16:41:36 +01:00
antirez
a8d2f3796d touched key for WATCH refactored into a more general thing that can be used also for the cache system. Some more changes towards diskstore working. 2010-12-29 19:39:42 +01:00
antirez
a43d96c4c8 a lot of code reworked/removed to implement object caching 2010-12-28 18:06:40 +01:00
antirez
5d33a8862a command lookup process turned into a much more flexible and probably faster hash table 2010-11-03 11:23:59 +01:00
antirez
29ea088aaa Do not update the LRU info on key lookup when we have a saving child. With this trivial change the additional memory used while saving with a background child in presence of many read operations is zero. 2010-11-02 18:59:48 +01:00
antirez
99fef368e7 added keyspace_hits and keyspace_misses fields in INFO output 2010-10-15 12:19:21 +02:00
antirez
4022964d64 Don't increment dirty on expireIfNeeded() as natural expires are not considered database changes. This will avoid useless read-only commands in the AOF file as a result of, for instance, a GET operation triggering an expirIfNeeded() call resulting in an expired key removed. 2010-10-15 11:29:03 +02:00
antirez
4c1af00e16 Object approximated LRU algorithm enhanced / fixed / refactored. This is used for the VM currently but will soon be used for maxmemory expiring. 2010-10-14 13:52:58 +02:00
antirez
ef015eed28 fixed an alignment problem with time_t is 32 bit, long is 64 bit, and arch is sparc or any other where unaligned accesses will result to sigbus 2010-10-07 16:21:35 +02:00
antirez
bbaffda4bb Merge remote branch 'pietern/networking-perf' 2010-09-16 11:38:40 +02:00
antirez
1aa222cd59 Fix re-enabled again, I forgot to check if VM was enabled before calling handleClientsBlockedOnSwappedKey() 2010-09-08 13:47:28 +02:00
antirez
8bd95b5ac3 latest fix reverted, there is some problem reported by the CI test 2010-09-08 13:45:51 +02:00