121 Commits

Author SHA1 Message Date
Yossi Gottlieb
85d7f38136 Merge remote-tracking branch 'upstream/unstable' into tls 2019-10-16 17:08:07 +03:00
Yossi Gottlieb
10ffeb03e4 TLS: Connections refactoring and TLS support.
* Introduce a connection abstraction layer for all socket operations and
integrate it across the code base.
* Provide an optional TLS connections implementation based on OpenSSL.
* Pull a newer version of hiredis with TLS support.
* Tests, redis-cli updates for TLS support.
2019-10-07 21:06:13 +03:00
nikhilajayk
c9cf8a3c5f Added cluster host and protected mode variables 2019-09-26 21:51:49 +05:30
antirez
7cd02bbab9 tracking_collisions.c: sha1 + crc64 implemented. 2019-08-02 20:24:27 +02:00
antirez
766550a7c6 tracking_collisions.c: initial skeleton.
... of a program to just test the hashing functions collisions on a 24
bit output with strings that are very likely Redis key names, and names
of a kind that are particularly prone to collisions.
2019-08-02 20:13:21 +02:00
Brad Solomon
7a9a0f891d 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
varianfeng
9514b25a85 fix corrupt_rdb.c bug.Let the name of input rdb file name be valid. 2019-03-01 17:46:42 +01:00
antirez
963da462fa showfreq.rb: collect more data for better graphs. 2019-02-19 17:25:58 +01:00
antirez
438688d956 Improve README of better-random-member directory. 2019-02-19 12:01:26 +01:00
antirez
c3b4760143 Add showfreq.rb to SRANDMEMBER analysis tools. 2019-02-18 18:47:49 +01:00
antirez
85cdb79d14 showdist.rb utility for SRANDMEMBER analysis added. 2019-02-18 12:39:07 +01:00
antirez
8249ef2cc1 changelog.tcl: get optional argument for number of commits. 2018-10-10 11:03:36 +02:00
Jack Drogon
bae1d36e5d Fix typo 2018-07-03 18:19:46 +02:00
antirez
4e0dd919f0 Add the stream group to the script generating the help. 2018-06-07 18:52:01 +02:00
artix
614127c478 - Updated create-cluster with redis-cli
- Updated README
2018-05-07 15:56:15 +02:00
antirez
fd0374c8a7 Add INIT INFO to the provided init script. 2018-03-26 11:29:16 +02:00
antirez
093c175d2a Fix HyperLogLog test script for new redis-rb API. 2018-03-16 16:34:04 +01:00
Salvatore Sanfilippo
4e01236ba9 Merge pull request #1934 from badboy/install-script-1922
Don't use extended Regexp Syntax
2017-07-24 15:20:31 +02:00
antirez
5885d4e98b changelog.tcl: output 100 lines. 2017-07-14 13:04:37 +02:00
Aric Huang
143c09f422 (fix) Update create-cluster README
Fix a few typos/adjust wording in `create-cluster` README
2017-06-16 16:10:00 -07:00
antirez
e456bb0297 Cluster: add clean-logs command to create-cluster script. 2017-04-14 10:52:00 +02:00
antirez
1a7da8dc30 Use sha256 instead of sha1 to generate tarball hashes. 2017-03-09 13:49:36 +01:00
antirez
38691907b6 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
183247d75e Changelog format modified to be less verbose. 2016-07-28 14:15:31 +02:00
antirez
354cbd0eb2 test-lru.rb: support for testing volatile-ttl policy. 2016-07-20 19:02:20 +02:00
antirez
53112a41e6 LFU simulator: remove dead code. 2016-07-14 16:06:36 +02:00
antirez
c7420bad96 LRU simulator: fix new entry creation decr time. 2016-07-14 15:55:17 +02:00
antirez
c719391468 LRU simulator: fix new entry creation. 2016-07-14 15:51:51 +02:00
antirez
0f3fd1a7f4 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
49478a4e8a LRU: Fix output fixes to new test-lru.rb. 2016-07-11 16:26:02 +02:00
antirez
17d48f92e6 LRU: test-lru.rb improved in different ways.
1. Scan keys with pause to account for actual LRU precision.
2. Test cross-DB with 100 keys allocated in DB1.
3. Output results that don't fluctuate depending on number of keys.
4. Output results in percentage to make more sense.
5. Save file instead of outputting to STDOUT.
6. Support running multiple times with average of outputs.
7. Label each square (DIV) with its ID as HTML title.
2016-07-11 16:23:50 +02:00
antirez
a3e72ca122 Added a trivial program to randomly corrupt RDB files in /utils. 2016-07-01 09:55:50 +02:00
Michiel De Mey
80ce0f7c13 Added documentation for non-interactive install procedure 2016-06-10 10:11:46 +02:00
Michiel De Mey
8bc30256b7 Allow non-interactive execution of install_server
This PR adds the ability to execute the installation script non-interactively, useful for automated provisioning scripts such as Chef, Puppet, Ansible, Salt, etc.
Simply feed the environment variables into the install script to skip the prompts.

For debug and verification purposes, the script will still output the selected config variables.
The plus side is that the environment variables also support command substitution (see REDIS_EXECUTABLE).

```
sudo REDIS_PORT=1234 REDIS_CONFIG_FILE=/etc/redis/1234.conf REDIS_LOG_FILE=/var/log/redis_1234.log REDIS_DATA_DIR=/var/lib/redis/1234 REDIS_EXECUTABLE=`command -v redis-server` ./utils/install_server.sh

Welcome to the redis service installer
This script will help you easily set up a running redis server

Selected config:
Port           : 1234
Config file    : /etc/redis/1234.conf
Log file       : /var/log/redis_1234.log
Data dir       : /var/lib/redis/1234
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Copied /tmp/1234.conf => /etc/init.d/redis_1234
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!
```
2016-05-13 11:47:55 +02:00
antirez
25c7c4a198 Added a tool for generating changelogs automatically.
Sometimes Redis patch releases are released in a matter of weeks or days
one after the other. In order to have less release friction the idea is
to stop writing changelogs by hand, in order to also cover everything
interesting there is to say. Useless things can be deleted manually by
the changelog. Also this gives more credits to contributors since often
in the commit message involved people are cited even when they are not
the authors of the commit.
2016-05-04 22:41:57 +02:00
antirez
19ce6fa96b 03_test_release.sh: proper cleanup before testing. 2016-01-28 13:06:02 +01:00
antirez
d5b1a97f67 Added Tcl program to show commits graphicaly.
Used to generate http://antirez.com/news/98.
2015-11-20 15:45:25 +01:00
antirez
0260c0489d Update redis-cli help and the script to generate it. 2015-11-17 15:38:34 +01:00
antirez
ec1e6d7a60 Fix order of release scripts. 2015-05-05 11:17:40 +02:00
superlogical
19531e1d19 create-cluster fix for stop and watch commands 2015-03-24 09:44:52 +13:00
antirez
96e2bcbe90 Cluster: ignore various node files in create-cluster dir. 2015-03-13 13:16:01 +01:00
antirez
1655e0de41 utils/hashtable/rehashing.c test updated to use new API. 2015-02-25 13:02:04 +01:00
Sisir Koppaka
aa9b7743eb rehashing.c: Fix compile error originating from SPOP rewrite 2015-02-18 08:16:41 -05:00
antirez
b153f6f2da dict.c Rehashing visualization code snippet added to utils. 2015-02-11 10:52:27 +01:00
antirez
87456e4878 Ignore config.sh inside create-cluster script dir. 2015-02-03 09:34:20 +01:00
antirez
5a851c458f Cluster: Tcl script to check avg pfail->fail time. 2015-01-30 12:03:17 +01:00
antirez
4cc1e82f71 Cluster: create-cluster script improved. 2015-01-30 10:41:45 +01:00
antirez
ecf101f1c0 create-cluster script: sane default timeout. 2015-01-29 13:21:42 +01:00
antirez
023a04f71f create-cluster script added.
Simple shell script to create / destroy Redis clusters for manual
testing.
2015-01-28 23:26:46 +01:00
Salvatore Sanfilippo
044fce926b Merge pull request #2103 from coderholic/unstable
Update redis_init_script.tpl
2014-12-11 15:20:53 +01:00