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