Commit Graph

902 Commits

Author SHA1 Message Date
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
128e89dde2 use withscores when performing the dataset digest 2010-05-12 17:24:15 +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
418807d2d5 fixed compilation warnings in the AOF sanity check tool 2010-05-12 11:56:12 +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
45ae650129 Merge branch 'check-aof' of git://github.com/pietern/redis 2010-05-10 15:09:25 +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
Pieter Noordhuis
3350558346 change command names no longer used to zunion/zinter 2010-05-07 16:48:43 +02:00
antirez
59305dc7a9 DEBUG POPULATE command for fast creation of test databases 2010-05-07 16:33:47 +02:00
Pieter Noordhuis
3317c67971 update TODO 2010-05-07 14:36:59 +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
8063b99da6 log error and quit when the AOF contains an unfinished MULTI 2010-05-06 22:00:04 +02:00
Pieter Noordhuis
98d2e23be2 Merge branch 'master' into check-aof 2010-05-06 21:06:09 +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
029245feac clarified a few messages in redis.conf 2010-05-06 18:04:51 +02:00
Pieter Noordhuis
81330149f8 ask for confirmation before AOF is truncated 2010-05-05 16:38:50 +02:00
Pieter Noordhuis
e51fa063db str can be free'd outside readString 2010-05-05 14:08:08 +02:00
Pieter Noordhuis
57ca68acc1 moved argument parsing around 2010-05-05 14:02:04 +02:00
Pieter Noordhuis
e795c75888 ignore redis-check-aof binary 2010-05-05 13:47:17 +02:00
Pieter Noordhuis
cb8ae3c889 allow AOF to be fixed by truncating to the portion of the file that is valid 2010-05-05 13:46:37 +02:00
Pieter Noordhuis
b4bd05241d tool to check if AOF is valid 2010-05-05 13:36:29 +02:00
antirez
2cf5e5136b included fmacros.h in linenose.c to avoid compilation warnings on Linux 2010-05-02 15:11:05 +02:00
antirez
af090ffa52 compilation fix for mac os x 2010-05-02 15:08:06 +02:00
antirez
48d729a7d9 Merge branch 'master' of git@github.com:antirez/redis 2010-05-02 15:06:06 +02:00