- 18 Jun, 2019 1 commit
-
-
antirez authored
This is an alpha quality implementation of a new keyspace representation and a new expire algorithm for Redis. This work is described here: https://gist.github.com/antirez/b2eb293819666ee104c7fcad71986eb7
-
- 14 Mar, 2019 2 commits
- 12 Feb, 2019 1 commit
-
-
Guy Benoish authored
In some cases processMultibulkBuffer uses sdsMakeRoomFor to expand the querybuf, but later in some cases it uses that query buffer as is for an argv element (see "Optimization"), which means that the sds in argv may have a lot of wasted space, and then in case modules keep that argv RedisString inside their data structure, this space waste will remain for long (until restarted from rdb).
-
- 09 Jan, 2019 2 commits
- 28 Nov, 2018 1 commit
-
-
zhaozhao.zz authored
In MEMORY USAGE command, we count the key argv[2] into usage, but the argument in command may contains free spaces because of sdsMakeRoomFor. But the key in db never contains free spaces because we use sdsdup when dbAdd, so using the real key to count the usage is more accurate.
-
- 06 Nov, 2018 1 commit
-
-
antirez authored
-
- 16 Oct, 2018 2 commits
-
-
Damien Tournoud authored
-
hujiecs authored
-
- 11 Sep, 2018 1 commit
-
-
antirez authored
-
- 13 Aug, 2018 1 commit
-
-
Oran Agra authored
-
- 23 Jul, 2018 1 commit
-
-
antirez authored
Related to #4883.
-
- 22 Jul, 2018 1 commit
-
-
Itamar Haber authored
-
- 02 Jul, 2018 1 commit
-
-
antirez authored
-
- 21 Jun, 2018 1 commit
-
-
Oran Agra authored
-
- 20 Jun, 2018 1 commit
-
-
Guy Benoish authored
RESTORE now supports: 1. Setting LRU/LFU 2. Absolute-time TTL Other related changes: 1. RDB loading will not override LRU bits when RDB file does not contain the LRU opcode. 2. RDB loading will not set LRU/LFU bits if the server's maxmemory-policy does not match.
-
- 18 Jun, 2018 1 commit
-
-
antirez authored
-
- 07 Jun, 2018 1 commit
-
-
Itamar Haber authored
-
- 31 May, 2018 1 commit
-
-
antirez authored
-
- 27 May, 2018 1 commit
-
-
zhaozhao.zz authored
-
- 20 Mar, 2018 1 commit
-
-
antirez authored
-
- 12 Mar, 2018 1 commit
-
-
Oran Agra authored
other fixes / improvements: - LUA script memory isn't taken from zmalloc (taken from libc malloc) so it can cause high fragmentation ratio to be displayed (which is false) - there was a problem with "fragmentation" info being calculated from RSS and used_memory sampled at different times (now sampling them together) other details: - adding a few more allocator info fields to INFO and MEMORY commands - improve defrag test to measure defrag latency of big keys - increasing the accuracy of the defrag test (by looking at real grag info) this way we can use an even lower threshold and still avoid false positives - keep the old (total) "fragmentation" field unchanged, but add new ones for spcific things - add these the MEMORY DOCTOR command - deduct LUA memory from the rss in case of non jemalloc allocator (one for which we don't "allocator active/used") - reduce sampling rate of the rss and allocator info
-
- 23 Feb, 2018 1 commit
-
-
gechunlin authored
-
- 05 Jan, 2018 1 commit
-
-
gnuhpc authored
-
- 15 Dec, 2017 2 commits
-
-
Itamar Haber authored
-
Itamar Haber authored
-
- 10 Dec, 2017 1 commit
-
-
Itamar Haber authored
-
- 06 Dec, 2017 1 commit
-
-
antirez authored
The main change introduced by this commit is pretending that help arrays are more text than code, thus indenting them at level 0. This improves readability, and is an old practice when defining arrays of C strings describing text. Additionally a few useless return statements are removed, and the HELP subcommand capitalized when printed to the user.
-
- 01 Dec, 2017 3 commits
- 28 Nov, 2017 1 commit
-
-
Itamar Haber authored
This adds a new `addReplyHelp` helper that's used by commands when returning a help text. The following commands have been touched: DEBUG, OBJECT, COMMAND, PUBSUB, SCRIPT and SLOWLOG. WIP Fix entry command table entry for OBJECT for HELP option. After #4472 the command may have just 2 arguments. Improve OBJECT HELP descriptions. See #4472. WIP 2 WIP 3
-
- 27 Nov, 2017 2 commits
-
-
zhaozhao.zz authored
Firstly, use access time to replace the decreas time of LFU. For function LFUDecrAndReturn, it should only try to get decremented counter, not update LFU fields, we will update it in an explicit way. And we will times halve the counter according to the times of elapsed time than server.lfu_decay_time. Everytime a key is accessed, we should update the LFU including update access time, and increment the counter after call function LFUDecrAndReturn. If a key is overwritten, the LFU should be also updated. Then we can use `OBJECT freq` command to get a key's frequence, and LFUDecrAndReturn should be called in `OBJECT freq` command in case of the key has not been accessed for a long time, because we update the access time only when the key is read or overwritten.
-
antirez authored
See #4472.
-
- 24 Nov, 2017 2 commits
-
-
Itamar Haber authored
-
Itamar Haber authored
When maxmemory is set to noeviction, idletime is implicitly kept. This renders access frequency nonsensical.
-
- 23 Nov, 2017 1 commit
-
-
Oran Agra authored
getLongLongFromObject calls string2ll which has this line: /* Return if not all bytes were used. */ so if you pass an sds with 3 characters "1\01" it will fail. but getLongDoubleFromObject calls strtold, and considers it ok if eptr[0]==`\0` i.e. if the end of the string found by strtold ends with null terminator 127.0.0.1:6379> set a 1 OK 127.0.0.1:6379> setrange a 2 2 (integer) 3 127.0.0.1:6379> get a "1\x002" 127.0.0.1:6379> incrbyfloat a 2 "3" 127.0.0.1:6379> get a "3"
-
- 08 Nov, 2017 1 commit
-
-
Itamar Haber authored
Fixes #4430
-
- 30 Oct, 2017 1 commit
-
-
antirez authored
Certain checks were useless, at the same time certain malformed inputs were accepted without problems (emtpy strings parsed as zero). Cases where strtod() returns ERANGE but we still want to parse the input where ok in getDoubleFromObject() but not in the long variant. As a side effect of these fixes, this commit fixes #4391.
-