Commit Graph

566 Commits

Author SHA1 Message Date
Pieter Noordhuis
0b10e10444 Support dual encoding in ZREM 2011-03-08 17:11:15 +01:00
antirez
e270a7fa58 removed useless call 2011-03-08 16:52:39 +01:00
Pieter Noordhuis
3ca7532a2d Don't encode element argument when dealing with ziplist 2011-03-08 16:51:41 +01:00
Pieter Noordhuis
21c5b508a4 Initial work for ziplist backed sorted sets 2011-03-08 16:44:22 +01:00
Pieter Noordhuis
9e7cee0ed0 Add function to create ziplist-backed sorted set 2011-03-08 16:08:52 +01:00
Pieter Noordhuis
672b0a1b25 Fast conversion of double when representable as long long 2011-03-08 16:08:11 +01:00
antirez
3a21cb99e5 same final call of two if branches moved outside 2011-03-08 15:55:34 +01:00
antirez
e09b51869b useless function removed 2011-03-08 15:10:20 +01:00
antirez
c5b6f46132 comment typo fixed 2011-03-08 15:03:51 +01:00
Pieter Noordhuis
45290ad9bb Rename zset range functions 2011-03-08 10:57:53 +01:00
Pieter Noordhuis
8e1b327706 Test for ranges where min > max 2011-03-08 10:57:39 +01:00
Pieter Noordhuis
df278b8b0b Compiler should decide on inlining 2011-03-08 10:57:33 +01:00
Pieter Noordhuis
22b9bf1594 Move logic concerned with zset ranges
This also optimizes ZREVRANGEBYSCORE for pathological cases where a
sorted set contains many elements with the same score. Previously,
it would traverse the list from back to front in such a case.
2011-03-08 10:57:24 +01:00
Pieter Noordhuis
a300477368 Undo rename of function names where something went wrong 2011-03-08 10:57:06 +01:00
antirez
c2f816b423 Merge remote branch 'pietern/unstable-sigs' into unstable 2011-03-07 12:22:00 +01:00
Pieter Noordhuis
3f4eef215b Show database number in cli prompt when non-zero 2011-03-06 21:14:40 +01:00
Pieter Noordhuis
96e34b3ce1 Store SELECTed database for reconnect (issue #468) 2011-03-06 20:46:49 +01:00
Pieter Noordhuis
33753a732a Minor memory leak in redis-cli (issue #464) 2011-03-06 20:13:01 +01:00
Pieter Noordhuis
ca36b4ab31 Only save history when stdin is a tty (issue #465) 2011-03-06 20:02:33 +01:00
Pieter Noordhuis
633a941028 Save RDB on SIGTERM (see issue #471) 2011-03-06 17:49:40 +01:00
antirez
d9fac6c07a possible fix for a failed assertion introduced with the latest diskstore speedup fix 2011-03-04 18:10:43 +01:00
antirez
0b537972f4 Fixed return value of GETRANGE / SUBSTR 2011-03-04 16:22:50 +01:00
antirez
4aec2ec8c4 AOF file descriptor leak fixed 2011-03-04 16:13:54 +01:00
antirez
15db4aa006 TTL command fixed to work reliably with diskstore 2011-03-04 15:49:01 +01:00
antirez
8b108ed307 debugging message moved from REDIS_WARING to REDIS_DEBUG 2011-03-04 15:45:38 +01:00
antirez
be14f38de6 Redis manifesto added 2011-03-01 15:20:35 +01:00
antirez
1213abe477 fix type in rdbSaveKeyValuePair() when saving an intset. Don't merge this commit into 2.2 as will not apply cleanly. 2011-02-28 17:55:05 +01:00
antirez
26117e84f0 direct saving of specially encoded types implemented for lists and sets too 2011-02-28 17:53:47 +01:00
antirez
0a04b5f5a0 define name typo fixed 2011-02-28 17:36:12 +01:00
antirez
9ad853ccde added new RDB codes for ziplist encoded lists and intset encodeed sets 2011-02-28 17:06:31 +01:00
antirez
9fa7beb515 save ziplist encoded type as a different type id. Done as separated commit since this is the part that will not merge cleanly in 2.2 2011-02-28 17:06:09 +01:00
antirez
f8956ed6d8 convert the zipmap into hash in rdb loading if the zipmap has too many elements 2011-02-28 16:55:34 +01:00
antirez
4d60dea853 RDB/AOF loading times logged with millisecond precision 2011-02-28 15:31:54 +01:00
antirez
1187b0a56e fix for zipmap raw saving in unstable branch 2011-02-28 15:13:49 +01:00
antirez
d4fb9f4144 encoded types API to get blob length 2011-02-28 14:48:49 +01:00
antirez
2cc993655f save zipmap encoded hashes as blobs. Work in progress. 2011-02-28 09:56:48 +01:00
antirez
419e1cca74 less delays in diskstore when there are many writes. more work to do. 2011-02-25 19:11:25 +01:00
antirez
900ab8fc7a more disk store fields in INFO 2011-02-25 10:59:57 +01:00
Pieter Noordhuis
6c682e559c Restore argc/argv in EXEC after command is executed 2011-02-23 14:37:22 +01:00
Paul Gideon Dann
df50d707f3 Allow port to be 0 in configuration, in order to allow disabling of TCP. 2011-02-22 12:13:29 +01:00
antirez
29920dceb8 conflict resolved in cherry pick 2011-02-22 00:03:03 +01:00
antirez
f96a9f82d8 suppress a Linux warning, for 2.2 sake 2011-02-21 17:51:52 +01:00
antirez
09d2abdca2 check return value of getcwd() 2011-02-21 17:51:28 +01:00
antirez
465b4189e6 CONFIG SET/GET for all the special encoding parameters of sets, lists, hashes 2011-02-17 12:20:59 +01:00
antirez
30318c1ddd SPOP replication/AOF patch ported to unstable branch 2011-02-16 12:41:40 +01:00
antirez
21cda08b3b CONFIG GET/SET dir implemented 2011-02-14 02:51:27 +01:00
antirez
05600eb8a7 fixed two diskstore issues, a quasi-deadlock creating problems with I/O speed and a race condition among threads 2011-02-11 11:16:15 +01:00
antirez
9c104c6886 introduced a new logging function for big messages 2011-02-09 10:10:35 +01:00
antirez
a8cc969cd4 Merge remote branch 'pietern/unstable-brpoplpush' into unstable 2011-02-07 15:28:01 +01:00
antirez
a53b4c2409 Fix for the previous port 0 patch, thanks to Pieter for noticing the error 2011-02-07 13:43:29 +01:00
antirez
68d6345ddf If port zero is specified, Redis will not listen for TCP connections 2011-02-07 12:52:01 +01:00
Pieter Noordhuis
554a5dd2fc Clarify comment 2011-02-03 12:56:53 +01:00
Pieter Noordhuis
d5870d7ac3 Reply with single null bulk for unsuccesful BRPOPLPUSH 2011-02-03 12:56:50 +01:00
antirez
452229b6fb propagate key eviction to slaves and AOF, like for expires, so that replicas and AOFs are always consistent even in maxmemory mode. 2011-01-27 16:52:37 +01:00
antirez
be86082be4 Fixed a theoretical non exploitable security bug reported by @chrisrohlf. In theory if we undefine SDS_ABORT_ON_OOM from sds.c AND modify zmalloc.c in order to don't quit on out of memory (but this would break every other part of Redis), on out of memory there is a possible heap overflow. 2011-01-27 10:27:25 +01:00
antirez
d7ed7fd2fc INFO commandstats section reset with config resetstat, a new microseconds per call field, and a few other minor things 2011-01-24 10:56:06 +01:00
antirez
9b45592c69 portability fix in redis benchmark, using zu format specified with size_t instead of lu 2011-01-24 10:05:42 +01:00
antirez
0d808ef275 Now INFO outputs the "INFO default" output if no argument is passed. Also added counts of calls for every command, thanks to an idea by Mike Shaver 2011-01-23 22:14:15 +01:00
antirez
1b085c9f48 INFO output refactoring. Now "INFO section" will report only the specified section 2011-01-23 16:41:07 +01:00
antirez
d9cb288c9e profiling information in INFO 2011-01-23 11:46:34 +01:00
antirez
89a1433e69 Fixed issue #435 and at the same time introduced explicit ping in the master-slave channel that will detect a blocked master or a broken even if apparently connected TCP link. 2011-01-20 13:18:23 +01:00
antirez
c4df22afb6 Fixed compilation on FreeBSD 2011-01-20 10:59:49 +01:00
Pieter Noordhuis
3bcffcbe5b Remove client from list of unblocked clients when it is free'd 2011-01-17 10:04:13 +01:00
antirez
52dc87bb18 lame typo causing bad hashes memory characteristic 2011-01-15 22:24:22 +01:00
antirez
7a1fd61e3d implemented two new INFO fields showing the size of clients max input and output buffers. 2011-01-14 10:20:02 +01:00
antirez
3a73be7524 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
5b831607e7 redisServer structure fields reordered for clarity 2011-01-14 00:19:19 +01:00
antirez
a5062bbab0 fixed bgsave_in_progress in INFO when BGSAVEing with diskstore enabled, don't DEBUG FLUSHCACHE when bgsave is in progress. 2011-01-09 19:25:34 +01:00
antirez
0a0f83ab2c DEBUG FLUSHCACHE needs to wait that everything was synched on disk 2011-01-09 19:01:44 +01:00
antirez
69bfffb4a7 test adapted to run with diskstore, and a few bugs fixed 2011-01-09 18:25:34 +01:00
antirez
5e1d2d30f7 initial fix of the test suite to run both in in-memory and diskstore mode 2011-01-09 16:49:52 +01:00
antirez
67a1810b32 allocation stats in INFO 2011-01-09 15:56:50 +01:00
antirez
b39619d8e7 DEBUG OBJECT fixed with diskstore, force loading 2011-01-08 02:06:01 +01:00
antirez
f1df1739e3 resolved a problem with delayed loading of keys 2011-01-08 01:42:08 +01:00
antirez
cc2750670f blocking SAVE implemented 2011-01-08 00:09:57 +01:00
antirez
43574a72c3 avoid bgsaving temp files 2011-01-07 23:51:31 +01:00
antirez
f03fe802b7 diskstore BGSAVE should work now 2011-01-07 23:41:00 +01:00
antirez
5b8ce85378 more work towards diskstore bgsave 2011-01-07 19:31:42 +01:00
antirez
36c17a53b6 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
249ad25f4f BGSAVE work in progress 2011-01-05 18:38:31 +01:00
antirez
51335102ac Merge remote branch 'pietern/writev-unstable' into unstable 2011-01-05 13:51:37 +01:00
antirez
f771dc23a0 IO performances greatly improved under high writes load 2011-01-05 12:34:14 +01:00
Pieter Noordhuis
9b1d738f96 Remove newlines for networking errors 2011-01-05 10:51:37 +01:00
Pieter Noordhuis
a510cb0c03 Remove glueoutputbuf option and broken code 2011-01-05 10:39:41 +01:00
antirez
6eaad66373 Merge branch 'master' into unstable 2011-01-04 19:07:15 +01:00
antirez
1190c6cbf7 handle end of space on device in a better way 2011-01-04 19:03:23 +01:00
antirez
418d5eaf50 strictly honour memory limit 2011-01-04 18:53:09 +01:00
antirez
779fa2af7a rename(2) used in diskstore.c for atomic updates of keys 2011-01-04 18:28:04 +01:00
antirez
fad97fbeea TODO list updated 2011-01-04 13:20:04 +01:00
antirez
5ab7bbfc27 fixed logging level for debugging message 2011-01-03 17:40:10 +01:00
antirez
bafa88c8b7 stupid bug fixed 2011-01-03 17:37:20 +01:00
antirez
9b24d8adbe serious performance enhancement of diskstore 2011-01-03 17:27:47 +01:00
antirez
5d46e370b7 diskstore more fixes 2011-01-03 17:18:37 +01:00
antirez
d158dc28f6 comments on top of dscache.c updated 2011-01-03 10:58:59 +01:00
antirez
0b305fcfd9 diskstore FLUSH* fixed 2011-01-03 10:51:45 +01:00
antirez
c15a3887e0 diskstore bug fixing and negative cache proper implementation 2011-01-03 10:47:39 +01:00
antirez
120b9ba8f8 FLUSHALL / FLUSHDB for diskstore implemented 2011-01-03 10:17:39 +01:00
antirez
d2033feb5c fixed cache-flush-delay configuration parsing 2011-01-02 22:27:26 +01:00
antirez
4942145d72 fixed a bug in diskstore 2011-01-02 21:39:17 +01:00
antirez
e37efb0d8b diskstore race condition fixed 2011-01-02 17:42:04 +01:00
antirez
133cf28ee8 minor comment change of dscache.c 2011-01-01 21:44:14 +01:00
antirez
9a3730289f blocking load fixed with the new design 2011-01-01 21:39:48 +01:00
antirez
3be00d7ed6 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
aa81e4d5f4 minor changes to doc and comments 2010-12-31 18:23:31 +01:00
antirez
d934e1e85b negative caching implemented 2010-12-31 17:32:59 +01:00
antirez
c4b64a1395 don't overload the IO job queue if there are alrady too much entries 2010-12-31 16:10:09 +01:00
antirez
a440ecf0d3 major bug and a dead lock fixed 2010-12-31 14:30:24 +01:00
antirez
8e6bb67108 brainstorming with myself in dscache.c comments 2010-12-31 02:39:00 +01:00
antirez
ad01a25553 blocking load of keys on lookup -- nor tested, nor finished 2010-12-31 00:18:17 +01:00
antirez
4e941ecacb short but important comment added 2010-12-30 19:20:23 +01:00
antirez
3122229228 handled DEL command as a special optimized case for disk store 2010-12-30 19:16:59 +01:00
antirez
8d51fb6a80 diskstore cache bug fixing 2010-12-30 18:37:46 +01:00
antirez
98a9abb66d don't use small shared integer objects when disk store is enabled 2010-12-30 18:17:01 +01:00
antirez
82ef6ebf73 added cache-flush-delay configuration directive. Don't BGSAVE when using diskstore 2010-12-30 17:53:28 +01:00
antirez
eea15afe5f fixed bugs on diskstore cache 2010-12-30 17:21:54 +01:00
antirez
1fce320114 filesystem based KV store mostly implemented in diskstore.c 2010-12-30 17:07:06 +01:00
antirez
4ab988238f more work done for diskstore without trying to compile, more work needed to build again. 2010-12-30 16:41:36 +01:00
antirez
1609a1c42d fixed a few bugs in DS store, now it's somewhat about able to reply to 'GET foo' with a bogus value. 2010-12-30 15:55:24 +01:00
antirez
67b0b41c87 disk store logged messages improved 2010-12-29 23:08:18 +01:00
antirez
ddbc81af33 diskstore directory structure creation 2010-12-29 23:00:00 +01:00
antirez
f63f0928c3 cron part of disk store object cache implemented. Objects are pushed as IO jobs if needed, so that the IO thread will process them. 2010-12-29 22:18:20 +01:00
antirez
cea8c5cd75 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
d021221086 version set to 2.3.0 2010-12-29 17:02:43 +01:00
antirez
5ef640986b more step forwards for disk store to be able to run 2010-12-29 16:58:57 +01:00
antirez
5f6e1183e7 implemented complete job handling 2010-12-29 15:57:27 +01:00
antirez
f34a6cd85e still more work for diskstore 2010-12-29 03:57:35 +01:00
antirez
f2da3a620c more work converting vm into object cache 2010-12-28 20:03:21 +01:00
antirez
f081eaf1c0 removed parts of VM that probably will be of no use with object cache 2010-12-28 18:46:34 +01:00
antirez
16d778780e a lot of code reworked/removed to implement object caching 2010-12-28 18:06:40 +01:00
antirez
697af434fb initial changes needed to turn the current VM code into a cache system. Tons of work to do still. 2010-12-28 15:20:20 +01:00
antirez
33388d4304 added diskstore.c in Makefile and prototypes in redis.h 2010-12-28 14:42:09 +01:00
antirez
52970711cf added diskstore.c, currently just a stub 2010-12-26 18:46:25 +01:00
antirez
04a2ade90d Merge remote branch 'pietern/bench-fix' 2010-12-23 13:18:07 +01:00
Pieter Noordhuis
8ce39260a4 Fix compiler warnings on Solaris 2010-12-23 11:26:11 +00:00
Pieter Noordhuis
89191613f1 limits.h is already included from redis.h 2010-12-23 11:14:05 +00:00
Pieter Noordhuis
65b472acce Solaris 10 doesn't know AF_LOCAL 2010-12-23 11:09:07 +00:00
Pieter Noordhuis
ba55932674 Solaris doesn't support -rdynamic 2010-12-23 11:08:50 +00:00
Pieter Noordhuis
2380388974 Randomize keys and set start time when first write event fires 2010-12-23 11:22:40 +01:00
Pieter Noordhuis
3c49070b35 Find substrings to randomize when the client is created 2010-12-23 11:04:44 +01:00
Pieter Noordhuis
d69a483556 Make the MSET benchmark *really* work with 10 keys 2010-12-22 18:39:52 +01:00
Pieter Noordhuis
f2f2424e00 Remove code duplication 2010-12-22 18:31:33 +01:00
antirez
180596766b help.h updated 2010-12-19 15:19:08 +01:00
antirez
f21779ff36 removed some dead code, added evicted keys counter separated from expired keys. 2010-12-19 15:15:08 +01:00
antirez
9d7165e885 overflow detection in INCR family functions 2010-12-19 12:22:12 +01:00
Didier Spezia
f474a5bd4e Add wait states to deal with many connections. 2010-12-18 12:11:26 +01:00
Pieter Noordhuis
1cd3c1e08c Use multi-bulk protocol by default in redis-benchmark 2010-12-18 12:10:24 +01:00
Pieter Noordhuis
174df6fe49 Re-use variable data in redis-benchmark 2010-12-16 23:41:58 +01:00
Pieter Noordhuis
53f1d81712 Fix NULL-termination of variable data in redis-benchmark 2010-12-16 23:35:56 +01:00
antirez
401c3e213c bulk transfers limited to 512 MB as this is the new limit of all the redis strings 2010-12-15 16:07:49 +01:00
antirez
beb1aab3fd Merge remote branch 'pietern/cli' 2010-12-15 16:03:43 +01:00