33 Commits

Author SHA1 Message Date
antirez
6e3f1a9e47 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:28:57 +02:00
antirez
d12f26c231 FLUSHALL will only perform a blocking SAVE if RDB persistence is configured. 2011-10-17 10:25:35 +02:00
antirez
067ad37f96 Fix for bug #128 about the RENAME command. 2011-10-10 15:25:28 +02:00
antirez
64cb15799c 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-12 09:57:17 +02:00
antirez
19453556d4 dataspace change hook functions backported to 2.4. They are just wrappers at this point but this makes simpler to cherry-pick between branches. 2011-07-12 09:56:41 +02:00
Hampus Wessman
91654a40e7 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-12 09:46:17 +02:00
antirez
307868e149 DB API refactoring. The changes were designed together with Pieter Noordhuis. 2011-06-14 16:59:45 +02:00
antirez
61751a4dc4 AOF auto rewrite backported to 2.4 2011-06-10 18:31:27 +02:00
antirez
360664c9c8 master-slave replication fixed, it was not listing any key using KEYS command in the slave. 2011-01-14 09:54:41 +01:00
antirez
1b1f47c915 command lookup process turned into a much more flexible and probably faster hash table 2010-11-03 11:23:59 +01:00
antirez
7d0966a6b7 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
53eeeaff08 added keyspace_hits and keyspace_misses fields in INFO output 2010-10-15 12:19:21 +02:00
antirez
670bf2fd36 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
ef59a8bc9e 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
144a5e72f2 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
89f9f83769 Merge remote branch 'pietern/networking-perf' 2010-09-16 11:38:40 +02:00
antirez
da14590bd9 Fix re-enabled again, I forgot to check if VM was enabled before calling handleClientsBlockedOnSwappedKey() 2010-09-08 13:47:28 +02:00
antirez
155fb4b45e latest fix reverted, there is some problem reported by the CI test 2010-09-08 13:45:51 +02:00
antirez
7f00cd2264 Fixed a race condition in VM happening when a key was deleted while there was a client waiting for this key to be resumed from swap to memory. The client would hang forever. 2010-09-08 13:26:16 +02:00
Pieter Noordhuis
9e83ac06ef Merge branch 'master' into networking-perf
Resolved conflict in src/db.c and changed adding an error to the reply
in blockingPopGenericCommand to use the new API.
2010-09-03 16:44:50 +02:00
Pieter Noordhuis
3ab203762f Use specialized function to add status and error replies 2010-09-02 23:33:06 +02:00
Pieter Noordhuis
b70d355521 Use existing reply functions where possible 2010-09-02 19:52:04 +02:00
Pieter Noordhuis
b301c1fc2b Wrapper for adding unknown multi bulk length to reply list 2010-08-30 16:39:14 +02:00
antirez
e0e1c19520 Fixed MONITOR mode and Issue 296 2010-08-30 11:51:45 +02:00
antirez
c91abdcd07 Fixed overflow detection in argument to long convertion function in general, and in expire/ttl pairs specifically, addressing issue 54 2010-08-23 17:06:38 +02:00
antirez
1fb4e8def7 PERSIST: a fix and some basic test 2010-08-03 14:25:22 +02:00
antirez
a539d29ac5 PERSIST command implemented 2010-08-03 14:19:20 +02:00
antirez
0cf5b7b57c allow to set a new EXPIRE of an existing volatile key 2010-08-03 12:26:30 +02:00
antirez
c25a5d3b10 memory leak removed from expire propagation code 2010-08-02 21:37:39 +02:00
antirez
bcf2995c98 support for write operations against expiring keys, by master-controlled expiring in replication and AOF synthesizing DEL operations 2010-08-02 18:13:39 +02:00
antirez
5b4bff9c17 WATCH is now affected only when write commands actually modify the key content 2010-07-12 12:01:15 +02:00
antirez
b7a8daef60 WATCH will now consider touched keys target of EXPIRE command after the WATCH is performed, but not before 2010-07-05 19:38:12 +02:00
antirez
e2641e09cc redis.c split into many different C files.
networking related stuff moved into networking.c

moved more code

more work on layout of source code

SDS instantaneuos memory saving. By Pieter and Salvatore at VMware ;)

cleanly compiling again after the first split, now splitting it in more C files

moving more things around... work in progress

split replication code

splitting more

Sets split

Hash split

replication split

even more splitting

more splitting

minor change
2010-07-01 14:38:51 +02:00