Commit Graph
144 Commits
Author SHA1 Message Date
Petr Vaněk 4b01ad1e30 Rename redis.conf to keydb.conf 2019-12-21 15:00:24 -05:00
Edgard Lorraine Messias cedea7e400 Fixed "Provides" name in chkconfig info 2019-10-01 13:44:58 -04:00
John Sully 261cf24efc Merge branch 'unstable' of https://github.com/antirez/redis into unstable
Lots of fixes and improvements from upstream.
2019-03-13 18:08:22 -04:00
Brad Solomon 79660e4ff4 Note that install_server.sh is not for Mac OSX
It will fail pretty quickly since there is no -f
readlink flag there.
2019-03-09 10:21:15 -05:00
John Sully 07594d4f95 Merge branch 'unstable' of https://github.com/antirez/redis into unstable
We want that awesome multithreaded benchmark
2019-03-02 18:07:18 -05:00
varianfeng ab1e87f5b1 fix corrupt_rdb.c bug.Let the name of input rdb file name be valid. 2019-03-01 17:46:42 +01:00
John Sully ebf0ae3e97 Merge branch 'unstable' of https://github.com/antirez/redis into Multithread 2019-02-21 18:17:12 -05:00
antirez f284e37f24 showfreq.rb: collect more data for better graphs. 2019-02-19 17:25:58 +01:00
antirez f1b3a485b4 Improve README of better-random-member directory. 2019-02-19 12:01:26 +01:00
antirez a317349cb2 Add showfreq.rb to SRANDMEMBER analysis tools. 2019-02-18 18:47:49 +01:00
antirez e6948b8f28 showdist.rb utility for SRANDMEMBER analysis added. 2019-02-18 12:39:07 +01:00
John Sully d3fc46b3a8 complete rebranding with tests passing 2019-02-09 10:11:46 -05:00
John Sully 0ffcf355fe Custom flash heap 2019-01-29 18:10:46 -05:00
antirez 19b668de4c changelog.tcl: get optional argument for number of commits. 2018-10-10 11:03:36 +02:00
antirez 4eedb0bf94 changelog.tcl: get optional argument for number of commits. 2018-10-10 11:03:36 +02:00
Jack Drogon df7bafeb44 Fix typo 2018-07-03 18:19:46 +02:00
Jack Drogon 93238575f7 Fix typo 2018-07-03 18:19:46 +02:00
antirez 8fe34cec06 Add the stream group to the script generating the help. 2018-06-07 18:52:01 +02:00
antirez b2fc2eaecb Add the stream group to the script generating the help. 2018-06-07 18:52:01 +02:00
artix ed6f173da4 - Updated create-cluster with redis-cli
- Updated README
2018-05-07 15:56:15 +02:00
artix 35b3a8e1ee - Updated create-cluster with redis-cli
- Updated README
2018-05-07 15:56:15 +02:00
antirez 5ae0f745a5 Add INIT INFO to the provided init script. 2018-03-26 11:29:16 +02:00
antirez 674909f442 Add INIT INFO to the provided init script. 2018-03-26 11:29:16 +02:00
antirez 4bbc9a5091 Fix HyperLogLog test script for new redis-rb API. 2018-03-16 16:34:04 +01:00
antirez 87cc94864c Fix HyperLogLog test script for new redis-rb API. 2018-03-16 16:34:04 +01:00
Salvatore Sanfilippo f82598303a Merge pull request #1934 from badboy/install-script-1922
Don't use extended Regexp Syntax
2017-07-24 15:20:31 +02:00
Salvatore Sanfilippo dc997755bf Merge pull request #1934 from badboy/install-script-1922
Don't use extended Regexp Syntax
2017-07-24 15:20:31 +02:00
antirez 0a18ba8719 changelog.tcl: output 100 lines. 2017-07-14 13:04:37 +02:00
antirez b80e467023 changelog.tcl: output 100 lines. 2017-07-14 13:04:37 +02:00
Aric Huang 98d3075f2f (fix) Update create-cluster README
Fix a few typos/adjust wording in `create-cluster` README
2017-06-16 16:10:00 -07:00
Aric Huang ee5044eef0 (fix) Update create-cluster README
Fix a few typos/adjust wording in `create-cluster` README
2017-06-16 16:10:00 -07:00
antirez 81a36f41ec Cluster: add clean-logs command to create-cluster script. 2017-04-14 10:52:00 +02:00
antirez 6878a3fedd Cluster: add clean-logs command to create-cluster script. 2017-04-14 10:52:00 +02:00
antirez 01f56d44dc Use sha256 instead of sha1 to generate tarball hashes. 2017-03-09 13:49:36 +01:00
antirez a62f786344 Use sha256 instead of sha1 to generate tarball hashes. 2017-03-09 13:49:36 +01:00
antirez c3c1c53df3 Fix HLL gnuplot graph generator script for new redis-rb versions.
The PFADD now takes an array and has mandatory two arguments.
2016-12-16 11:07:30 +01:00
antirez 47dea01c85 Fix HLL gnuplot graph generator script for new redis-rb versions.
The PFADD now takes an array and has mandatory two arguments.
2016-12-16 11:07:30 +01:00
antirez 2c80701c7d Changelog format modified to be less verbose. 2016-07-28 14:15:31 +02:00
antirez 8966d4ca5e Changelog format modified to be less verbose. 2016-07-28 14:15:31 +02:00
antirez 760725aa5b test-lru.rb: support for testing volatile-ttl policy. 2016-07-20 19:02:20 +02:00
antirez 9f1b7ab2ed test-lru.rb: support for testing volatile-ttl policy. 2016-07-20 19:02:20 +02:00
antirez 8192fc3a8c LFU simulator: remove dead code. 2016-07-14 16:06:36 +02:00
antirez ada70c7c53 LFU simulator: remove dead code. 2016-07-14 16:06:36 +02:00
antirez 1aaeeaa537 LRU simulator: fix new entry creation decr time. 2016-07-14 15:55:17 +02:00
antirez fc92c667f7 LRU simulator: fix new entry creation decr time. 2016-07-14 15:55:17 +02:00
antirez c8a6d75f1c LRU simulator: fix new entry creation. 2016-07-14 15:51:51 +02:00
antirez f50dc38bc2 LRU simulator: fix new entry creation. 2016-07-14 15:51:51 +02:00
antirez cd969573ed LFU: Simulation of the algorithm planned for Redis.
We have 24 total bits of space in each object in order to implement
an LFU (Least Frequently Used) eviction policy.

We split the 24 bits into two fields:

      8 bits      16 bits
    +--------+----------------+
    | LOG_C  | Last decr time |
    +--------+----------------+

LOG_C is a logarithmic counter that provides an indication of the access
frequency. However this field must also be deceremented otherwise what used
to be a frequently accessed key in the past, will remain ranked like that
forever, while we want the algorithm to adapt to access pattern changes.

So the remaining 16 bits are used in order to store the "decrement time",
a reduced-precision unix time (we take 16 bits of the time converted
in minutes since we don't care about wrapping around) where the LOG_C
counter is halved if it has an high value, or just decremented if it
has a low value.

New keys don't start at zero, in order to have the ability to collect
some accesses before being trashed away, so they start at COUNTER_INIT_VAL.
The logaritmic increment performed on LOG_C takes care of COUNTER_INIT_VAL
when incrementing the key, so that keys starting at COUNTER_INIT_VAL
(or having a smaller value) have a very high chance of being incremented
on access.

The simulation starts with a power-law access pattern, and later converts
into a flat access pattern in order to see how the algorithm adapts.
Currenty the decrement operation period is 1 minute, however note that
it is not guaranteed that each key will be scanned 1 time every minute,
so the actual frequency can be lower. However under high load, we access
3/5 keys every newly inserted key (because of how Redis eviction works).

This is a work in progress at this point to evaluate if this works well.
2016-07-14 15:21:48 +02:00
antirez 09fcb00249 LFU: Simulation of the algorithm planned for Redis.
We have 24 total bits of space in each object in order to implement
an LFU (Least Frequently Used) eviction policy.

We split the 24 bits into two fields:

      8 bits      16 bits
    +--------+----------------+
    | LOG_C  | Last decr time |
    +--------+----------------+

LOG_C is a logarithmic counter that provides an indication of the access
frequency. However this field must also be deceremented otherwise what used
to be a frequently accessed key in the past, will remain ranked like that
forever, while we want the algorithm to adapt to access pattern changes.

So the remaining 16 bits are used in order to store the "decrement time",
a reduced-precision unix time (we take 16 bits of the time converted
in minutes since we don't care about wrapping around) where the LOG_C
counter is halved if it has an high value, or just decremented if it
has a low value.

New keys don't start at zero, in order to have the ability to collect
some accesses before being trashed away, so they start at COUNTER_INIT_VAL.
The logaritmic increment performed on LOG_C takes care of COUNTER_INIT_VAL
when incrementing the key, so that keys starting at COUNTER_INIT_VAL
(or having a smaller value) have a very high chance of being incremented
on access.

The simulation starts with a power-law access pattern, and later converts
into a flat access pattern in order to see how the algorithm adapts.
Currenty the decrement operation period is 1 minute, however note that
it is not guaranteed that each key will be scanned 1 time every minute,
so the actual frequency can be lower. However under high load, we access
3/5 keys every newly inserted key (because of how Redis eviction works).

This is a work in progress at this point to evaluate if this works well.
2016-07-14 15:21:48 +02:00
antirez bbac261b64 LRU: Fix output fixes to new test-lru.rb. 2016-07-11 16:26:02 +02:00