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