Commit Graph

392 Commits

Author SHA1 Message Date
antirez 2c2b208537 added mstime() to get UNIX time in milliseconds. 2011-11-09 00:03:03 +01:00
antirez 65330badb9 hiredis/redis changes for speed with big payloads: read buffer size set
to 16k, request buffer size is no longer destroyed when emtpy and large
(better fix needed). Redis clients static output buffer set to 16k as
well.
2011-11-08 10:59:59 +01:00
antirez 94d490b9f6 Added a define to set the size threshold to enable the multi bulk parsing big objects optimization. 2011-11-04 11:16:11 +01:00
antirez dd5fbedf7b I/O buffer length enlarged 2011-11-02 16:51:33 +01:00
antirez d569f39a77 removed the vmpointer structure that is no longer user in Redis >= 2.5.x 2011-10-31 15:47:12 +01:00
antirez aeecbdfae3 1fe4cd5 2011-10-31 11:14:24 +01:00
antirez 8996bf7720 7c6da73 2011-10-31 11:13:28 +01:00
antirez 58732c23d5 maxclients configuration is now implemented dealing with the actual process rlimits. Setting maxclients to 0 no longer makes sense and is now invalid, the new default is 10000.
See issue #162 for more information.
2011-10-31 10:49:27 +01:00
antirez 115e3ff39e If a Lua script executes for more time than the max time specified in the configuration Redis will log a warning, and will start accepting queries (re-entering the event loop), returning -SLOWSCRIPT error for all the commands but SHUTDOWN that remains callable. 2011-10-27 14:49:10 +02:00
antirez 8cb8d417b1 Lau scripts default max execution time set to 5 seconds. 2011-10-25 12:10:15 +02:00
antirez 070e39454d SCRIPT command for introspection and control of the scripting environment. 2011-10-24 22:47:00 +02:00
antirez 6856c7b4d6 First implementation of the ASKING command. Semantics still to verify. 2011-10-17 17:35:23 +02:00
Nathan Florea 8523876503 Added a config directive for a Unix socket mask
Added a configuration directive to allow a user to specify the
permissions to be granted to the Unix socket file.  I followed
the format Pieter and Salvatore discusses in issue #85 (
https://github.com/antirez/redis/issues/85).
2011-10-10 11:21:15 -07:00
antirez d38ef52085 Redis Cluster: process node to node CLUSTERMSG_TYPE_PUBLISH messages and send it to the local clients. 2011-10-07 16:34:16 +02:00
antirez c563ce463b propagate PUBLISH messages using the redis cluster nodes bus. Still need to process the incoming packets of that type. Work in progress. 2011-10-07 15:37:34 +02:00
antirez bab205f787 redisAssertWithClientInfo() is now redisAssertWithInfo() that is also able to report an optional object. The client is also optional. Specifying NULL will prevent dumping the not available information (either client or object). 2011-10-04 18:05:26 +02:00
antirez e3e6993510 Introduced a redisAssert() variant that is able to show information about the client in the context where the failed assertion was detected. 2011-10-04 17:22:29 +02:00
antirez 9f772cc237 Return errors if a write command is called inside a Lua script after a random command was called. See https://github.com/antirez/redis/issues/95 for more information. 2011-09-27 15:30:31 +02:00
antirez b60ed6e812 added the NOSCRIPT and RANDOM command flags 2011-09-27 13:45:46 +02:00
antirez 5d02b00f56 command table refactoring to make it simpler adding new flags 2011-09-26 15:40:39 +02:00
antirez f9c6f39b2b merge conflicts resolved 2011-09-22 15:15:26 +02:00
antirez a3fcd6bc21 fixed flushAppendOnlyFile() function prototype to reflect the new implementation, fixing compilation. 2011-09-16 12:36:17 +02:00
antirez db3c2a4fb4 postpone the AOF fsync if policy is everysec and there is a background fsync already going. 2011-09-16 12:35:12 +02:00
antirez f67e338d5c Removed no longer useful fields in the redis server structure 2011-09-13 16:17:45 +02:00
antirez 4dd444bb4a Replicate EVALSHA as EVAL taking a dictionary of sha1 -> script source code. 2011-07-13 15:38:03 +02:00
antirez 0681c5ad84 master branch merged into scripting. 2011-07-12 12:39:16 +02:00
antirez 09e2d9eeba Take a pointer to the relevant entry of the command table in the client structure. This is generally a more sounding design, simplifies a few functions prototype, and as a side effect fixes a bug related to the conversion of EXPIRE -1 to DEL: before of this fix Redis tried to convert it into an EXPIREAT in the AOF code, regardless of our rewrite of the command. 2011-07-08 12:59:30 +02:00
antirez 2cb6828480 Added an unique ID field to every slow log entry. 2011-06-30 17:36:15 +02:00
antirez 35a6044140 slow log configuration implemented 2011-06-30 15:47:15 +02:00
antirez daa70b1798 First implementation of the slow log feature 2011-06-30 13:27:32 +02:00
antirez 994ed2bc55 unstable merge conflicts resolved 2011-06-25 12:29:24 +02:00
antirez c9d0c3623a diskstore removed 2011-06-25 12:22:03 +02:00
antirez c1c9d551da Fix for bug 561 and other related problems 2011-06-20 17:19:36 +02:00
antirez f85cd526c1 DB API refactoring. The changes were designed together with Pieter Noordhuis. 2011-06-20 16:42:16 +02:00
antirez 07486df6fe new INFO filed master_link_down_since_seconds 2011-06-17 16:16:46 +02:00
antirez 0d1650f8a9 Updated to unstable 2011-06-14 18:06:39 +02:00
antirez b333e23997 automatic AOF rewrite first implementation. Still to be tested. 2011-06-10 12:39:23 +02:00
Pieter Noordhuis 632e4c09ac Make replication faster (biggest gain for small number of slaves) 2011-05-30 12:45:07 +02:00
antirez 615e414c5d INFO now contains the time (in usecs) needed to fork() in order to persist. The info is available in the stats section of INFO. 2011-05-29 15:17:29 +02:00
antirez 288f811fea All commands exported by Redis to Lua scripts are now inside the redis table. Implemented redis.log() function. 2011-05-25 12:32:50 +02:00
antirez 7229d60d03 EVALSHA implemented 2011-05-25 12:32:49 +02:00
antirez eeffcf380f Lua scripts max execution time 2011-05-25 12:32:48 +02:00
antirez 7156f43c04 Correctly glue the reply buffer. For now returned as it is to Lua, but will be converted into Lua native type later. 2011-05-25 12:32:44 +02:00
antirez 0f1d64ca57 Lua call of Redis command work in progress: sorry I have to go to the cinema to watch the Source Code movie 2011-05-25 12:32:44 +02:00
antirez 7585836e6e Lua function creation on EVAL, basic Lua return type to Redis protocol convertion done. 2011-05-25 12:32:43 +02:00
Pieter Noordhuis 890a2ed989 Configurable synchronous I/O timeout 2011-05-22 12:58:18 +02:00
Pieter Noordhuis b075621fb7 Minor changes in non-blocking repl. connect 2011-05-22 12:51:09 +02:00
Pieter Noordhuis a330913999 Non-blocking connect with master 2011-05-19 18:54:57 +02:00
Pieter Noordhuis 7271198cf0 Use rio.h functions in aof.c 2011-05-14 12:36:22 +02:00
Pieter Noordhuis 221782ccc6 Move rdbLoad* to top; update comments 2011-05-13 23:24:19 +02:00
Pieter Noordhuis f1d8e4968e Make RDB types/opcodes explicit; load/save object type 2011-05-13 22:14:39 +02:00
Pieter Noordhuis 2e4b0e7727 Abstract file/buffer I/O to support in-memory serialization 2011-05-13 17:31:00 +02:00
Pieter Noordhuis 5d08193126 Tests for string2ll; move isObject* to object.c 2011-05-05 16:26:50 +02:00
antirez eda827f8b7 cluster import/export of hash slots implemented in the query redirection engine 2011-05-05 11:13:21 +02:00
antirez 484354ff95 CLUSTER GETKEYSINSLOT implemented 2011-04-29 16:17:58 +02:00
antirez c772d9c6e7 take a hashslot -> keys index, will be used for cluster rehasing 2011-04-28 19:00:33 +02:00
antirez 3cd12b5687 CLIENT LIST implemented 2011-04-21 15:38:02 +02:00
antirez 17b24ff30d save peak memory usage as statistic and show it in INFO. Also a new INFO field was added showing the fragmentation ratio using the peak memory info. 2011-04-21 10:49:52 +02:00
antirez 7c0e1b53c4 Merge remote branch 'pietern/unstable-zset' into unstable 2011-04-14 13:31:14 +02:00
antirez 996d503d1a ASCII ART FTW 2011-04-13 10:58:21 +02:00
Pieter Noordhuis 7d8c555e92 Merge branch 'unstable' into unstable-zset
Conflicts:
	src/object.c
2011-04-06 16:15:01 +02:00
antirez 0b7f6d0913 make sure that OBJECT ENCODING returns skiplist for sorted sets, and not raw, so that once we will merge specially encoded sorted sets everything will make sense. 2011-04-06 15:36:10 +02:00
antirez ece74202bb OBJECT command implemented 2011-04-06 12:19:45 +02:00
antirez 626f6b2d64 DUMP implemented, RESTORE and MIGRATE fixed. Use zcalloc() instead of zmalloc()+memset() in sds.c when a new string is created with NULL initialization pointer. 2011-04-01 18:59:28 +02:00
antirez ef21ab960e centralized cluster config file name. Assigned slots in CLUSTER NODES output and in cluster config file. 2011-03-30 17:41:13 +02:00
antirez ecc9109434 Cluster branch merged to unstable. 2011-03-29 17:51:15 +02:00
antirez 9791f0f8ce new preloading implemented, still EXEC not handled correctly, everything to test 2011-03-23 18:09:17 +01:00
Pieter Noordhuis dddf5335f4 Fix DEBUG DIGEST, SORT and AOF rewrite 2011-03-14 13:30:06 +01:00
Pieter Noordhuis 8588bfa370 Make zzl API unaware of the robj where the ziplist is stored 2011-03-11 17:06:07 +01:00
Pieter Noordhuis df26a0ae0b Encode sorted set after loading from dump 2011-03-10 17:50:13 +01:00
Pieter Noordhuis d4e07f1714 Add new string to long long function 2011-03-10 16:16:27 +01:00
Pieter Noordhuis 3ea204e103 Configurable thresholds for encoded sorted sets 2011-03-09 14:01:57 +01:00
Pieter Noordhuis e12b27acf7 Persistence code for encoded sorted sets 2011-03-09 13:16:38 +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
Pieter Noordhuis 633a941028 Save RDB on SIGTERM (see issue #471) 2011-03-06 17:49:40 +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 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 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 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 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 d9cb288c9e profiling information in INFO 2011-01-23 11:46:34 +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 5b831607e7 redisServer structure fields reordered for clarity 2011-01-14 00:19:19 +01:00
antirez cc2750670f blocking SAVE implemented 2011-01-08 00:09:57 +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 a510cb0c03 Remove glueoutputbuf option and broken code 2011-01-05 10:39:41 +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 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 d934e1e85b negative caching implemented 2010-12-31 17:32:59 +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 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 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 5ef640986b more step forwards for disk store to be able to run 2010-12-29 16:58:57 +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 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 f21779ff36 removed some dead code, added evicted keys counter separated from expired keys. 2010-12-19 15:15:08 +01:00
antirez 6a246b1e7e special encoding limits redefined, and all the config options for special encodings added in the example redis.conf file 2010-12-14 18:23:52 +01:00
antirez cc7c4158bc Merge remote branch 'jonahharris/syslog' 2010-12-14 17:53:28 +01:00
antirez 603e616bf4 Merge branch 'master' of github.com:antirez/redis 2010-12-14 17:42:46 +01:00
antirez 57997664ea Merge remote branch 'pietern/strrange' 2010-12-14 17:42:01 +01:00
antirez f858c11d7d Merge remote branch 'pietern/brpoplpush' 2010-12-14 16:26:37 +01:00
Pieter Noordhuis ef11bcccca Refactor and rename SUBSTR to GETRANGE
SUBSTR is renamed to GETRANGE to have better consistency between command
names (with SETRANGE as its dual). GETRANGE is still aliased as SUBSTR.
2010-12-14 15:16:29 +01:00
Pieter Noordhuis 9f9e1ceaa0 Add SETRANGE command implementation and tests 2010-12-14 14:20:51 +01:00
antirez 8c304be359 cow friendly HGETALL and variants 2010-12-14 12:10:51 +01:00
antirez dd48de748c fixed compilation on Linux 2010-12-10 15:47:01 +01:00
antirez 3d24304ff9 HGET HMGET are now COW friendly, plus API refactoring and changes needed for the new implementation. 2010-12-10 15:17:55 +01:00
antirez 1b508da7ca SINTER/MEMBERS are now COW friendly, also some refactoring around was needed to get this result. 2010-12-09 23:01:09 +01:00
Jonah H. Harris e1a586ee69 syslog support 2010-12-09 11:10:21 -05:00
Pieter Noordhuis 3c1bf4957e Add commands SETBIT/GETBIT 2010-12-09 16:39:33 +01:00
antirez a5be65f71c COW friendly versions of SPOP and SRANDMEMBER commands, with some change to the set encoding-agnostic API. 2010-12-09 10:21:02 +01:00
antirez d51ebef509 LRANGE converted into a COW friendly command. Some refactoring, comment, and new addReply*() family function added in the process. 2010-12-07 16:33:13 +01:00
Pieter Noordhuis a4ce758155 Don't execute commands for clients when they are unblocked 2010-12-06 16:39:39 +01:00
Pieter Noordhuis 5fa95ad763 Rename blpop_blocked_clients to bpop_blocked_clients 2010-12-06 14:05:01 +01:00
Damian Janowski & Michel Martens e3c51c4b1b Rename bstate to bpop. 2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens 357a841714 Move to struct. 2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens b2a7fd0cf7 BRPOPLPUSH. 2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens 8a979f0390 Fix case in RPOPLPUSH. 2010-11-29 23:52:07 -03:00
Pieter Noordhuis bd70a5f588 Stop using /dev/null to find out the serialized object length
Now the rdbSave* functions return the number of bytes written (or
required to write) in serializing a Redis object, writing to /dev/null
and using ftell (which doesn't work on FreeBSD) isn't needed anymore.
2010-11-21 16:31:27 +01:00
antirez 5402c4262e added noeviction policy to redis maxmemory. ZSCORE removed from the list of commands that can't be called when we are low on memory, this command was added in the past for a stupid error. 2010-11-08 16:12:16 +01:00
antirez 97e7f8aec3 non blocking loading of the DB / AOF with informations and ETA in INFO output 2010-11-08 11:52:03 +01:00
antirez 4ebfc45528 config option to select if when replication link with master a slave should or not serve stale data 2010-11-04 19:59:21 +01:00
antirez 62ec599c36 typos and minor stuff fixed in the new non blocking replication code 2010-11-04 17:35:03 +01:00
antirez f4aa600b99 first attempt to non blocking implementation of slave replication and SYNC bulk data download. Never compiled so far... 2010-11-04 17:29:53 +01:00
Pieter Noordhuis a9b18e54d4 Stop using the freelist robj* cache 2010-11-04 10:09:30 +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 0a546fc017 Merge remote branch 'pietern/unixsocket' 2010-11-02 23:47:52 +01:00
antirez b5b22da8e6 Revert "Function to compute RSS memory usage in a fast way, suitable to be called inside keys eviction loops"
This reverts commit 7d47ecd543.
2010-11-02 12:10:41 +01:00
antirez 7d47ecd543 Function to compute RSS memory usage in a fast way, suitable to be called inside keys eviction loops 2010-11-02 11:40:35 +01:00
antirez 21dbc6499a merge conflict resolved 2010-10-28 22:59:47 +02:00
Pieter Noordhuis 5e78edb350 Unify two client flags that mean the same 2010-10-28 15:07:45 +01:00
antirez 73abd0a9d2 Merge remote branch 'remotes/pietern/zrevrangebyscore' 2010-10-28 14:12:25 +02:00
antirez 244201f6ba added a missing prototype from syncio.c in redis.h 2010-10-25 10:54:37 +02:00
antirez d08fac3eb9 more generally usable i/o functions moved to syncio.c 2010-10-25 10:53:28 +02:00
antirez 19e61097c5 synchronous I/O networking functions originally used just for replication refactored in a file as generally useful, they are used in the cluster branch for MIGRATE. 2010-10-24 16:22:52 +02:00
Pieter Noordhuis 33aba595b0 Removed unused command flags 2010-10-17 17:31:40 +02:00
Pieter Noordhuis cd8788f26d Refactor request parsing code for efficiency 2010-10-15 15:44:55 +02:00
antirez 53eeeaff08 added keyspace_hits and keyspace_misses fields in INFO output 2010-10-15 12:19:21 +02:00
antirez 165346ca29 implemented different algorithms for maxmemory 2010-10-14 21:22:21 +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
Pieter Noordhuis 26f3388d27 Merge branch 'master' into zrevrangebyscore 2010-10-13 20:29:50 +02:00
Pieter Noordhuis b04ce2a35c Merge master with resolved conflict in src/redis-cli.c 2010-10-13 18:55:46 +02:00
Pieter Noordhuis ab17b909fe Use different accept handlers for TCP and unix socket connections 2010-10-13 18:34:24 +02:00
Pieter Noordhuis 5d10923f7b Rename variable sockpath to unixsocket 2010-10-13 17:17:56 +02:00
Pieter Noordhuis 941c9fa285 Return OK on QUIT 2010-10-13 11:25:40 +02:00
antirez b882056c93 Merge remote branch 'pietern/zset-mem' 2010-09-22 16:09:33 +02:00
antirez 34a719d250 try to parse the request in a smarter way to gain speed... work in progress 2010-09-17 15:26:07 +02:00
Pieter Noordhuis 25bb8a4452 Add ZREVRANGEBYSCORE and refactor Z*RANGEBYSCORE 2010-09-16 14:38:07 +02:00
Pieter Noordhuis 192fc3376a Merge branch 'zset-mem' into zrevrangebyscore 2010-09-16 14:32:30 +02:00
Pieter Noordhuis f335779240 Static buffer in client struct has a constant size 2010-09-16 11:59:53 +02:00
Pieter Noordhuis 3ab203762f Use specialized function to add status and error replies 2010-09-02 23:33:06 +02:00
Pieter Noordhuis 36c19d03e0 Changed reply buildup internals 2010-09-02 19:52:04 +02:00
Pieter Noordhuis 4a7893ca9c Removed unneeded function 2010-09-02 19:52:04 +02:00
Pieter Noordhuis 0537e7bf80 Use specialized function to add multi bulk reply length 2010-09-02 12:51:14 +02:00
Pieter Noordhuis b301c1fc2b Wrapper for adding unknown multi bulk length to reply list 2010-08-30 16:39:14 +02:00
Pieter Noordhuis 834ef78e27 Refactor reply buildup for speed on large multi bulk replies 2010-08-30 16:39:08 +02:00
antirez 2f6b31c3bb Fix for a race in BGSAVE that may result in some data not being saved as soon as possible (when the configured saving triggers should fire). Also known as Issue 313, more details there in the google code issue. 2010-08-30 10:32:32 +02:00
antirez ec7e138926 test for intset integer encodability test and some small refactoring 2010-08-26 18:47:03 +02:00
antirez acc75bfd4f Merge remote branch 'pietern/intset-split' 2010-08-26 12:04:24 +02:00
antirez a679185aa5 sanity check for the bulk argument in protocol parsing code, fixing issue 146 2010-08-24 11:45:05 +02:00
Pieter Noordhuis cb72d0f155 Rename iterator to setTypeIterator for consistency 2010-08-21 11:38:24 +02:00
Pieter Noordhuis aaada3f962 Merge branch 'master' into intset-split
Conflicts:
	src/Makefile
	src/t_set.c
2010-08-20 12:40:55 +02:00
Pieter Noordhuis 69ef89f2cf Reference zset score in zskiplistNode from dict entries
This avoids the extra allocation of sizeof(double) for storing the score
of a zset entry in the hash table. Saves sizeof(double) + malloc
overhead = approx. 16 bytes per zset entry.
2010-08-03 20:49:53 +02:00
Pieter Noordhuis 2159782b51 Use flexible array in zskiplistNode to reduce memory usage 2010-08-03 19:22:09 +02:00
antirez a539d29ac5 PERSIST command implemented 2010-08-03 14:19:20 +02:00
Pieter Noordhuis a5639e7dd9 Change initialization to allow listening on both a port and socket 2010-08-03 13:33:12 +02:00
antirez 0cf5b7b57c allow to set a new EXPIRE of an existing volatile key 2010-08-03 12:26:30 +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 f99e660b44 malloc definition with deprecated attribute was duplicated, one removed 2010-07-27 14:30:02 +02:00
antirez 80091bbaac STRLEN command implemented 2010-07-27 10:09:26 +02:00
antirez b3aa6d712e use the function deprecated attribute if compiling with GCC to get warnings for malloc/free usages. We always want to use our zmalloc/zfree versions for memory usage tracking 2010-07-27 09:36:42 +02:00
antirez 0e5441d816 don't use object sharing inside I/O threads, as a fix for a well known instability of VM introduced with the new object sharing code 2010-07-22 13:08:02 +02:00
antirez d06a5b23c8 Fixed compilation on *BSD systems 2010-07-05 20:14:48 +02:00
Pieter Noordhuis 96ffb2fe97 merged intset code into the split files 2010-07-02 19:57:12 +02:00
antirez 3688d7f308 Compilation fixed on Linux after the source code split 2010-07-01 21:13:38 +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