antirez
|
9682a58fca
|
conflicts resolved
|
2010-05-13 14:24:41 +02:00 |
|
Pieter Noordhuis
|
9376e434f0
|
feed SETEX as SET and EXPIREAT to AOF
|
2010-05-13 14:15:06 +02:00 |
|
antirez
|
32a6651355
|
very strong speedup in saving time performance when there are many integers in the dataset. Instead of decoding the object before to pass them to the rdbSaveObject layer we check asap if the object is integer encoded and can be written on disk as an integer.
|
2010-05-13 13:36:42 +02:00 |
|
antirez
|
fb82e75cd1
|
include limits.h otherwise no double precison macros
|
2010-05-13 11:53:56 +02:00 |
|
antirez
|
88e8d89f1e
|
explicitly checks with ifdefs if our floating point and long long assumptions are verified
|
2010-05-13 10:47:06 +02:00 |
|
antirez
|
fe24458996
|
Yet another version of the double saving code, with comments explaining what's happening there
|
2010-05-13 10:28:00 +02:00 |
|
antirez
|
5107436cdf
|
added overflow check in the double -> long long conversion trick to avoid integer overflows. I think this was not needed in practical terms, but it is safer
|
2010-05-12 21:51:48 +02:00 |
|
antirez
|
8c096b16a1
|
If a float can be casted to a long long without rounding loss, we can use the integer conversion function to write the score on disk. This is a seriuous speedup
|
2010-05-12 15:07:39 +02:00 |
|
antirez
|
abce5627d7
|
Merge branch 'vm-speedup'
|
2010-05-12 11:51:01 +02:00 |
|
Pieter Noordhuis
|
6485f29382
|
fix to return error when calling INCR on a non-string type
|
2010-05-11 22:46:24 +02:00 |
|
antirez
|
ad30aa6069
|
load objects encoded from disk directly without useless conversion
|
2010-05-11 16:12:22 +02:00 |
|
antirez
|
bd59ecfb92
|
fixed a problem leading to crashes, as keys can't be currently specially encoded, so we can't encode integers at object loading time... For now this can be fixed passing a few flags, or later can be fixed allowing encoded keys as well
|
2010-05-11 14:30:56 +02:00 |
|
antirez
|
ee14da56e6
|
long long to string conversion speedup applied in other places as well. Still the code has bugs, fixing right now...
|
2010-05-11 14:13:53 +02:00 |
|
antirez
|
e5b7a215e8
|
hand written code to turn a long long into a string -> very big speed win
|
2010-05-11 12:13:37 +02:00 |
|
antirez
|
bf02809825
|
added specialized function to compare string objects for perfect match that is optimized for this task
|
2010-05-11 11:15:36 +02:00 |
|
antirez
|
dc05abde89
|
better use of encoding inforamtion in dictEncObjKeyCompare
|
2010-05-11 11:02:24 +02:00 |
|
antirez
|
1b67773229
|
CONFIG now can change appendfsync policy at run time
|
2010-05-10 20:56:54 +02:00 |
|
antirez
|
a34e0a2574
|
CONFIG command now supports hot modification of RDB saving parameters.
|
2010-05-10 18:50:55 +02:00 |
|
antirez
|
89e689c592
|
while loading the rdb file don't add the key to the dictionary at all if it's already expired, instead of removing it just after the insertion.
|
2010-05-10 15:26:01 +02:00 |
|
antirez
|
585af7e21c
|
minor changes to improve code readability
|
2010-05-08 03:04:00 +02:00 |
|
antirez
|
242a64f3d6
|
swap objects out directly while loading an RDB file if we detect we can't stay in the vm max memory limits anyway
|
2010-05-08 02:38:59 +02:00 |
|
antirez
|
59305dc7a9
|
DEBUG POPULATE command for fast creation of test databases
|
2010-05-07 16:33:47 +02:00 |
|
Pieter Noordhuis
|
0a6f3f0f8a
|
swap arguments in blockClientOnSwappedKeys to be consistent
|
2010-05-07 14:33:34 +02:00 |
|
Pieter Noordhuis
|
3805e04f78
|
added function that preloads all keys needed to execute a MULTI/EXEC block
|
2010-05-07 14:22:21 +02:00 |
|
Pieter Noordhuis
|
739ba0d211
|
add sanity check to zunionInterBlockClientOnSwappedKeys, as the number of keys used is provided as argument to the function
|
2010-05-07 12:59:34 +02:00 |
|
Pieter Noordhuis
|
ca1788b560
|
make prototype of custom function to preload keys from the vm match the prototype of waitForMultipleSwappedKeys
|
2010-05-07 12:58:44 +02:00 |
|
Pieter Noordhuis
|
6f07874621
|
extract preloading of multiple keys according to the command prototype to a separate function
|
2010-05-07 12:45:27 +02:00 |
|
Pieter Noordhuis
|
f3b52411db
|
make append only filename configurable
|
2010-05-07 11:55:12 +02:00 |
|
Pieter Noordhuis
|
f4f06efccc
|
don't load value from VM for EXISTS
|
2010-05-07 11:40:26 +02:00 |
|
antirez
|
a0e7e5f516
|
swap file name pid expansion removed. Not suited for mission critical software...
|
2010-05-07 09:36:37 +02:00 |
|
antirez
|
8b5bb414f1
|
Swap file is now locked
|
2010-05-07 09:32:26 +02:00 |
|
antirez
|
f424d5f398
|
Merge branch 'master' into aof-speedup
|
2010-05-06 23:19:46 +02:00 |
|
Pieter Noordhuis
|
4132ad8d49
|
log error and quit when the AOF contains an unfinished MULTI
|
2010-05-06 22:14:07 +02:00 |
|
Pieter Noordhuis
|
946342c190
|
hincrby should report an error when called against a hash key that doesn't contain an integer
|
2010-05-06 20:38:50 +02:00 |
|
antirez
|
28ed1f33ee
|
AOF writes are now accumulated into a buffer and flushed into disk just before re-entering the event loop. A lot less writes but still this guarantees that AOF is written before the client gets a positive reply about a write operation, as no reply is trasnmitted before re-entering into the event loop.
|
2010-05-06 20:16:14 +02:00 |
|
antirez
|
10ce12761a
|
On Linux now fdatasync() is used insetad of fsync() in order to flush the AOF file kernel buffers
|
2010-05-02 15:05:34 +02:00 |
|
antirez
|
dd142b9cd7
|
New MONITOR output format with timestamp, every command in a single line, string representations
|
2010-04-29 18:43:51 +02:00 |
|
antirez
|
8f63ddca00
|
AOF is now rewritten on slave after SYNC with master. Thanks to @_km for finding this bug and any others'
|
2010-04-27 16:58:08 +02:00 |
|
antirez
|
526d00a572
|
SETEX implemented
|
2010-04-23 19:07:33 +02:00 |
|
antirez
|
c8d0ea0ef1
|
Pub/Sub API change: now messages received via pattern matching have a different message type and an additional field representing the original pattern the message matched
|
2010-04-23 15:36:00 +02:00 |
|
antirez
|
723240057a
|
new units for bytes specification
|
2010-04-22 15:09:07 +02:00 |
|
antirez
|
2b61932933
|
Now in redis.conf it is possible to specify units where appropriate instead of amounts of bytes, like 2Gi or 4M and so forth
|
2010-04-22 12:05:51 +02:00 |
|
antirez
|
dc4be23ec8
|
binary safe keys ready implementation of RANDOMKEYS
|
2010-04-21 11:31:29 +02:00 |
|
antirez
|
24df76987e
|
Now that's the right 1.3.10
|
2010-04-21 10:31:48 +02:00 |
|
antirez
|
3bb225d66b
|
Revert "fsync always now uses O_DIRECT on Linux"
This reverts commit 566c3c7a22 .
|
2010-04-21 10:31:16 +02:00 |
|
antirez
|
d6fb4d5396
|
Revert "define __USE_GNU to get O_DIRECT"
This reverts commit 122c049834 .
|
2010-04-21 10:31:08 +02:00 |
|
antirez
|
122c049834
|
define __USE_GNU to get O_DIRECT
|
2010-04-20 18:29:06 +02:00 |
|
antirez
|
566c3c7a22
|
fsync always now uses O_DIRECT on Linux
|
2010-04-20 18:25:30 +02:00 |
|
antirez
|
66c8853f9c
|
Fix for MULTI/EXEC and Replication/AOF: now the block is correctly sent as MULTI/..writing operations../EXEC. Ok for slaves but more work needed for the AOF as it should be a write-all-or-nothing business
|
2010-04-19 18:30:11 +02:00 |
|
antirez
|
7ccd2d0a5f
|
running the test using tcl8.5 directly instead of tclsh that too often it's a symlink to 8.4
|
2010-04-19 16:11:13 +02:00 |
|
antirez
|
08ee9b570f
|
Fix for a SORT bug introduced with commit 16fa22f1 , regression test added
|
2010-04-18 17:51:15 +02:00 |
|
antirez
|
177727542c
|
Guru mediation -> meditation
|
2010-04-18 00:03:49 +02:00 |
|
Pieter Noordhuis
|
682c73e87e
|
check eptr inline
|
2010-04-17 13:06:49 +02:00 |
|
Pieter Noordhuis
|
bd79a6bda0
|
refactor code that retrieves value from object or replies to client
|
2010-04-17 13:06:49 +02:00 |
|
antirez
|
4e8dbaf463
|
Merge branch 'hash' of git://github.com/pietern/redis
|
2010-04-17 12:54:49 +02:00 |
|
antirez
|
f83c6cb5eb
|
redisAssert(0) => redisPanic("something meaningful")
|
2010-04-17 12:54:40 +02:00 |
|
Pieter Noordhuis
|
3f973463a7
|
make sure that the resulting value in hincrby is encoded when possible
|
2010-04-17 12:46:23 +02:00 |
|
Pieter Noordhuis
|
edc2f63ad9
|
increment dirty counter after hmset
|
2010-04-17 12:35:22 +02:00 |
|
Pieter Noordhuis
|
97224de7f9
|
strip tryObjectEncoding from hashSet, to enable the arguments being encoded in-place
|
2010-04-17 12:33:43 +02:00 |
|
antirez
|
c651fd9ee3
|
Added support for Guru Mediation, and raising a guru mediation if refCount <= 0 but decrRefCount is called against such an object
|
2010-04-17 11:35:05 +02:00 |
|
Pieter Noordhuis
|
55017f9da0
|
fix small error and memory leaks in SORT
|
2010-04-16 18:11:57 +02:00 |
|
antirez
|
b4eb9ccdcb
|
Merge branch 'hash-refactor' of git://github.com/pietern/redis
|
2010-04-16 15:53:44 +02:00 |
|
Pieter Noordhuis
|
b6f07345c9
|
check object type in lookupKeyByPattern
|
2010-04-16 13:37:40 +02:00 |
|
Pieter Noordhuis
|
705dad386d
|
make sortCommand aware that lookupKeyByPattern always increased the refcount of the returned value
|
2010-04-16 13:31:17 +02:00 |
|
Pieter Noordhuis
|
a3f3af860b
|
revert 0c390a to stop using tricks with o->refcount
|
2010-04-16 13:20:12 +02:00 |
|
Pieter Noordhuis
|
c44d3b56df
|
store the hash iterator on the heap instead of the stack
|
2010-04-16 12:48:48 +02:00 |
|
Pieter Noordhuis
|
c811bb381d
|
drop inline directive
|
2010-04-16 12:13:41 +02:00 |
|
Pieter Noordhuis
|
feb8d7e6a6
|
rename hashReplace to hashSet
|
2010-04-16 12:12:50 +02:00 |
|
Konstantin Merenkov
|
d4dd6556c3
|
Don't set expire to keys with ttl=0, remove them immediately.
|
2010-04-15 21:29:46 +02:00 |
|
Pieter Noordhuis
|
16fa22f12b
|
make sure that cmpobj is in decoded form when sorting by ALPHA (this solves edge case from previous commit where (!sortby && alpha) == 1)
|
2010-04-15 20:55:34 +02:00 |
|
Pieter Noordhuis
|
6d7d1370c3
|
enable hash dereference in SORT on BY and GET
|
2010-04-15 19:16:39 +02:00 |
|
Pieter Noordhuis
|
6e9e463f80
|
use shared replies for hset
|
2010-04-15 19:16:39 +02:00 |
|
Pieter Noordhuis
|
0c390abc69
|
set refcount of string objects retrieved from zipmaps to 0, so we don't have to touch the refcount of the objects inside dicts
|
2010-04-15 19:16:39 +02:00 |
|
Pieter Noordhuis
|
1f1c769518
|
added HSETNX
|
2010-04-15 19:16:39 +02:00 |
|
Pieter Noordhuis
|
7fb16bacae
|
refactor of hash commands to use specialized api that abstracts zipmap and dict apis
|
2010-04-15 19:16:39 +02:00 |
|
Pieter Noordhuis
|
a71f072f73
|
move retrieval of long up to prevent an empty hash from being created
|
2010-04-15 19:16:38 +02:00 |
|
antirez
|
8ca3e9d10b
|
Active rehashing
|
2010-04-15 18:07:57 +02:00 |
|
antirez
|
5413c40da7
|
Incrementally rehahsing hash table! Thanks to Derek Collison and Pieter Noordhuis for feedbacks/help
|
2010-04-15 11:59:13 +02:00 |
|
antirez
|
e6cca5dba6
|
Does not allow commands other than Pub/Sub commands when there is at least one pattern
|
2010-04-14 12:12:25 +02:00 |
|
Alex McHale
|
9a22de8270
|
Fixed a tiny memory leak when loading the configuration file.
|
2010-04-13 11:48:33 -05:00 |
|
antirez
|
b60bace9f9
|
Merge branch 'hmget' of git://github.com/pietern/redis
|
2010-04-13 18:30:55 +02:00 |
|
Alex McHale
|
bbe025e04b
|
Validate numeric inputs.
|
2010-04-13 10:23:10 -05:00 |
|
Alex McHale
|
e0a62c7fdb
|
Remove trailing whitespace.
|
2010-04-13 10:21:39 -05:00 |
|
antirez
|
4e27f26863
|
Now all the commands returning a multi bulk reply against non existing keys will return an empty multi bulk, not a nil one
|
2010-04-12 16:03:41 +02:00 |
|
Pieter Noordhuis
|
09aeb5790f
|
implemented HMGET
|
2010-04-12 14:57:38 +02:00 |
|
Pieter Noordhuis
|
d33278d160
|
implemented HMSET
|
2010-04-12 12:29:37 +02:00 |
|
antirez
|
05df762175
|
Sharing of small integer objects: may save a lot of memory with datasets having many of this
|
2010-04-12 11:38:08 +02:00 |
|
antirez
|
10d91d7fb3
|
removed a no longer true assert in the VM code
|
2010-04-09 18:35:24 +02:00 |
|
antirez
|
bdcb92f273
|
shareobjects feautres killed - no gains most of the time, but VM complexities
|
2010-04-09 17:13:39 +02:00 |
|
antirez
|
78ebe4c88f
|
use directly the real key object in VM I/O jobs to match by pointer, and to handle different keys with the same name living in different DBs, but being at the same moment in the IO job queues
|
2010-04-09 17:02:56 +02:00 |
|
antirez
|
884d4b39d4
|
Prevent hash table resize while there are active child processes in order to play well with copy on write
|
2010-04-08 20:08:51 +02:00 |
|
antirez
|
5727b9aa94
|
Merge branch 'issue_218' of git://github.com/pietern/redis
|
2010-04-08 16:07:26 +02:00 |
|
antirez
|
10c2baa50a
|
-1 not needed...
|
2010-04-08 16:07:18 +02:00 |
|
antirez
|
6fcb180039
|
Skiplist theoretical fix
|
2010-04-08 15:56:21 +02:00 |
|
antirez
|
454eea7c44
|
Now when a child is terminated by a signal, the signal number is logged as well
|
2010-04-07 17:36:44 +02:00 |
|
Pieter Noordhuis
|
aa7c29340f
|
use long long reply type for HINCRBY
|
2010-04-05 16:51:48 +02:00 |
|
Pieter Noordhuis
|
5e26ae88b8
|
last argument is never encoded for HINCRBY
|
2010-04-05 16:51:34 +02:00 |
|
antirez
|
4005fef124
|
Now PUBLISH commands are replicated to slaves
|
2010-04-02 16:42:15 +02:00 |
|
Pieter Noordhuis
|
8bca8773b4
|
use the right object when cleaning up after zunion/zinter (fixes issue 216)
|
2010-04-01 22:07:50 +02:00 |
|
antirez
|
14ae26d89d
|
Merge branch 'zipmap' of git://github.com/pietern/redis
|
2010-04-01 18:48:14 +02:00 |
|