143 Commits

Author SHA1 Message Date
Edgard Lorraine Messias
d5236c1c76 Fixed "Provides" name in chkconfig info
Former-commit-id: cedea7e4005ecf540c5383a7a9da04f8fabfe648
2019-10-01 13:44:58 -04:00
John Sully
46853f1357 Merge branch 'unstable' of https://github.com/antirez/redis into unstable
Lots of fixes and improvements from upstream.


Former-commit-id: 261cf24efc8bedec7ee76a8897b9a800a4d663e2
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
15c301798f Merge branch 'unstable' of https://github.com/antirez/redis into unstable
We want that awesome multithreaded benchmark


Former-commit-id: 07594d4f958892f9270a18bc182728e4dfbf8144
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
antirez
b19b2dff46 LRU: Fix output fixes to new test-lru.rb. 2016-07-11 16:26:02 +02:00