- 27 2月, 2015 1 次提交
-
-
由 antirez 提交于
-
- 03 12月, 2014 1 次提交
-
-
由 antirez 提交于
Ref: issue #2175
-
- 05 11月, 2013 1 次提交
-
-
由 antirez 提交于
The previous implementation of SCAN parsed the cursor in the generic function implementing SCAN, SSCAN, HSCAN and ZSCAN. The actual higher-level command implementation only checked for empty keys and return ASAP in that case. The result was that inverting the arguments of, for instance, SSCAN for example and write: SSCAN 0 key Instead of SSCAN key 0 Resulted into no error, since 0 is a non-existing key name very likely. Just the iterator returned no elements at all. In order to fix this issue the code was refactored to extract the function to parse the cursor and return the error. Every higher level command implementation now parses the cursor and later checks if the key exist or not.
-
- 28 10月, 2013 2 次提交
- 22 7月, 2013 1 次提交
-
-
由 antirez 提交于
Previously two string encodings were used for string objects: 1) REDIS_ENCODING_RAW: a string object with obj->ptr pointing to an sds stirng. 2) REDIS_ENCODING_INT: a string object where the obj->ptr void pointer is casted to a long. This commit introduces a experimental new encoding called REDIS_ENCODING_EMBSTR that implements an object represented by an sds string that is not modifiable but allocated in the same memory chunk as the robj structure itself. The chunk looks like the following: +--------------+-----------+------------+--------+----+ | robj data... | robj->ptr | sds header | string | \0 | +--------------+-----+-----+------------+--------+----+ | ^ +-----------------------+ The robj->ptr points to the contiguous sds string data, so the object can be manipulated with the same functions used to manipulate plan string objects, however we need just on malloc and one free in order to allocate or release this kind of objects. Moreover it has better cache locality. This new allocation strategy should benefit both the memory usage and the performances. A performance gain between 60 and 70% was observed during micro-benchmarks, however there is more work to do to evaluate the performance impact and the memory usage behavior.
-
- 15 2月, 2013 1 次提交
-
-
由 antirez 提交于
-
- 28 1月, 2013 2 次提交
-
-
由 antirez 提交于
When keyspace events are enabled, the overhead is not sever but noticeable, so this commit introduces the ability to select subclasses of events in order to avoid to generate events the user is not interested in. The events can be selected using redis.conf or CONFIG SET / GET.
-
由 antirez 提交于
-
- 09 11月, 2012 1 次提交
-
-
由 antirez 提交于
-
- 12 6月, 2012 1 次提交
-
-
由 antirez 提交于
The ziplist -> hashtable conversion code is triggered every time an hash value must be promoted to a full hash table because the number or size of elements reached the threshold. If a problem in the ziplist causes the same field to be present multiple times, the assertion of successful addition of the element inside the hash table will fail, crashing server with a failed assertion, but providing little information about the problem. This code adds a new logging function to perform the hex dump of binary data, and makes sure that the ziplist -> hashtable conversion code uses this new logging facility to dump the content of the ziplist when the assertion fails. This change was originally made in order to investigate issue #547.
-
- 23 3月, 2012 1 次提交
-
-
由 antirez 提交于
-
- 10 3月, 2012 2 次提交
- 22 2月, 2012 1 次提交
-
-
由 antirez 提交于
-
- 16 2月, 2012 1 次提交
-
-
由 antirez 提交于
-
- 04 1月, 2012 1 次提交
-
-
由 Pieter Noordhuis 提交于
To improve the performance of the ziplist implementation, some functions have been converted to macros to avoid unnecessary stack movement and duplicate variable assignments.
-
- 03 1月, 2012 1 次提交
-
-
由 Pieter Noordhuis 提交于
-
- 15 11月, 2011 1 次提交
-
-
由 antirez 提交于
-
- 09 11月, 2011 1 次提交
-
-
由 antirez 提交于
-
- 05 10月, 2011 1 次提交
-
-
由 antirez 提交于
-
- 27 7月, 2011 1 次提交
-
-
由 Pieter Noordhuis 提交于
-
- 19 4月, 2011 1 次提交
-
-
由 antirez 提交于
-
- 30 12月, 2010 1 次提交
-
-
由 antirez 提交于
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.
-
- 14 12月, 2010 2 次提交
- 10 12月, 2010 1 次提交
-
-
由 antirez 提交于
HGET HMGET are now COW friendly, plus API refactoring and changes needed for the new implementation.
-
- 26 10月, 2010 1 次提交
-
-
由 Pieter Noordhuis 提交于
-
- 17 10月, 2010 2 次提交
-
-
由 Pieter Noordhuis 提交于
-
由 Pieter Noordhuis 提交于
-
- 03 9月, 2010 2 次提交
-
-
由 Pieter Noordhuis 提交于
-
由 Pieter Noordhuis 提交于
-
- 02 9月, 2010 1 次提交
-
-
由 Pieter Noordhuis 提交于
-
- 30 8月, 2010 1 次提交
-
-
由 Pieter Noordhuis 提交于
-
- 12 7月, 2010 1 次提交
-
-
由 antirez 提交于
-
- 01 7月, 2010 1 次提交
-
-
由 antirez 提交于
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
-