12 Commits

Author SHA1 Message Date
John Sully
cc8d7c1afd Merge commit '3b373fbb0b05ee862dfef32199cfb63459019cd9' into unstable
Former-commit-id: 201bf73ef772914c56ac680bb9c7fb6a98b218b2
2020-05-21 18:57:28 -04:00
antirez
3b373fbb0b Speedup: unblock clients on keys in O(1).
See #7071.
2020-04-15 16:03:16 +02:00
John Sully
6193e9ad4f Merge remote-tracking branch 'redis/6.0' into redis_merge
Former-commit-id: ef9a3cadcf94326bf2f163db7698aad9a3c01690
2020-01-27 02:55:48 -05:00
喜欢兰花山丘
0b6feb1524 Update adlist.h
Update listGetFree keep format consistent
2019-11-13 10:14:45 +08:00
John Sully
0e10e4f6f5 Start of MVCC support (and more C++)
Former-commit-id: c4621a5ed2a7d8ca5034f2fbe8b71550f290ea64
2019-04-16 23:16:03 -04:00
John Sully
90c6c37628 make headers C++ safe 2019-02-15 16:55:40 -05:00
antirez
ae9780424a Modules TSC: Handling of RM_Reply* functions. 2017-05-02 15:05:39 +02:00
antirez
ea0fb053a2 PSYNC2: fix master cleanup when caching it.
The master client cleanup was incomplete: resetClient() was missing and
the output buffer of the client was not reset, so pending commands
related to the previous connection could be still sent.

The first problem caused the client argument vector to be, at times,
half populated, so that when the correct replication stream arrived the
protcol got mixed to the arugments creating invalid commands that nobody
called.

Thanks to @yangsiran for also investigating this problem, after
already providing important design / implementation hints for the
original PSYNC2 issues (see referenced Github issue).

Note that this commit adds a new function to the list library of Redis
in order to be able to reset a list without destroying it.

Related to issue #3899.
2017-04-27 17:08:37 +02:00
antirez
a32d1ddff6 BSD license added to every C source and header file. 2012-11-08 18:31:32 +01:00
antirez
5bab1baf21 Process async client checks like client timeouts and BLPOP timeouts incrementally using a circular list. 2012-03-13 18:05:11 +01:00
antirez
884c2f0e68 64 bit instances are no longer limited to have at max 2^32-1 elements in lists. 2012-01-31 10:35:52 +01: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