Commit Graph

210 Commits

Author SHA1 Message Date
antirez
4eedb0bf94 changelog.tcl: get optional argument for number of commits. 2018-10-10 11:03:36 +02:00
Jack Drogon
93238575f7 Fix typo 2018-07-03 18:19:46 +02:00
antirez
b2fc2eaecb Add the stream group to the script generating the help. 2018-06-07 18:52:01 +02:00
artix
35b3a8e1ee - Updated create-cluster with redis-cli
- Updated README
2018-05-07 15:56:15 +02:00
antirez
674909f442 Add INIT INFO to the provided init script. 2018-03-26 11:29:16 +02:00
antirez
87cc94864c Fix HyperLogLog test script for new redis-rb API. 2018-03-16 16:34:04 +01: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
b80e467023 changelog.tcl: output 100 lines. 2017-07-14 13:04:37 +02: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
6878a3fedd Cluster: add clean-logs command to create-cluster script. 2017-04-14 10:52:00 +02:00
antirez
a62f786344 Use sha256 instead of sha1 to generate tarball hashes. 2017-03-09 13:49:36 +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
8966d4ca5e Changelog format modified to be less verbose. 2016-07-28 14:15:31 +02:00
antirez
9f1b7ab2ed test-lru.rb: support for testing volatile-ttl policy. 2016-07-20 19:02:20 +02:00
antirez
ada70c7c53 LFU simulator: remove dead code. 2016-07-14 16:06:36 +02:00
antirez
fc92c667f7 LRU simulator: fix new entry creation decr time. 2016-07-14 15:55:17 +02:00
antirez
f50dc38bc2 LRU simulator: fix new entry creation. 2016-07-14 15:51:51 +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
b19b2dff46 LRU: Fix output fixes to new test-lru.rb. 2016-07-11 16:26:02 +02:00
antirez
32a549432b 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
c0f4d19331 Added a trivial program to randomly corrupt RDB files in /utils. 2016-07-01 09:55:50 +02:00
Michiel De Mey
90781dec56 Added documentation for non-interactive install procedure 2016-06-10 10:11:46 +02:00
Michiel De Mey
af1e63c365 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
b76d27ca74 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
8870a7e143 03_test_release.sh: proper cleanup before testing. 2016-01-28 13:06:02 +01:00
antirez
4d625bb4c8 Added Tcl program to show commits graphicaly.
Used to generate http://antirez.com/news/98.
2015-11-20 15:45:25 +01:00
antirez
f3dd472e97 Update redis-cli help and the script to generate it. 2015-11-17 15:38:34 +01:00
antirez
9f9c44feef Fix order of release scripts. 2015-05-05 11:17:40 +02:00
superlogical
761fc16b4a create-cluster fix for stop and watch commands 2015-03-24 09:44:52 +13:00
antirez
4ed7582c7b Cluster: ignore various node files in create-cluster dir. 2015-03-13 13:16:01 +01:00
antirez
cc0d339bd1 utils/hashtable/rehashing.c test updated to use new API. 2015-02-25 13:02:04 +01:00
Sisir Koppaka
acb933a747 rehashing.c: Fix compile error originating from SPOP rewrite 2015-02-18 08:16:41 -05:00
antirez
edda00b902 dict.c Rehashing visualization code snippet added to utils. 2015-02-11 10:52:27 +01:00
antirez
128c642d05 Ignore config.sh inside create-cluster script dir. 2015-02-03 09:34:20 +01:00
antirez
79fa67cdb8 Cluster: Tcl script to check avg pfail->fail time. 2015-01-30 12:03:17 +01:00
antirez
6b1c6334be Cluster: create-cluster script improved. 2015-01-30 10:41:45 +01:00
antirez
d59ad97d76 create-cluster script: sane default timeout. 2015-01-29 13:21:42 +01:00
antirez
8899f91a7f 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
81772ce0e3 Merge pull request #2103 from coderholic/unstable
Update redis_init_script.tpl
2014-12-11 15:20:53 +01:00
antirez
5b2bbef9fc Mark whatisdoing.sh as deprecated in top-comment. 2014-12-09 12:18:34 +01:00
Serghei Iakovlev
8c0f86842e Update whatisdoing.sh
Improved getting pid
2014-12-05 18:48:20 +02:00
Serghei Iakovlev
d4a9836f1a getting pid fixes
```sh
$ ~ pidof redis-server
# nothing

$ ~ ps aux | grep [r]edis
redis      593  0.0  0.0  36900  5564 ?        Ssl  Dec02   1:37 /usr/bin/redis-server 127.0.0.1:6379
klay     15927  0.0  0.0  16772  6068 pts/6    S+   13:58   0:00 redis-cli

$ ~ uname -a
Linux edge 3.17.4-1-ARCH #1 SMP PREEMPT Fri Nov 21 21:14:42 CET 2014 x86_64 GNU/Linux
```
2014-12-05 14:50:45 +02:00
Ben Dowling
dab5c09acc Update redis_init_script.tpl
status command currently reports success when redis has crashed and the pid file still exists. Changing to check the actual process is running.
2014-10-26 11:09:45 -07:00
antirez
da838544ae 02_upload_tarball.sh: let me exit before updating site. 2014-10-09 11:26:32 +02:00
Aniruddh Chaturvedi
82154ffab5 Fix typo in unit test
Closes #2005
2014-09-29 06:49:09 -04:00
antirez
d61e820faf Fix 03_release_hash.sh commit message. 2014-09-19 19:20:15 +02:00
antirez
5807558c98 03_release_hahs.sh: let me edit before committing. 2014-09-19 19:18:48 +02:00
antirez
f3107559be Quick, wrong, fix for create_tarball script. 2014-09-19 19:17:52 +02:00
antirez
eba1e652f4 03_release_hash.sh: fix commit stage. 2014-09-19 18:20:47 +02:00
antirez
07bd52113e 02_upload_tarball.sh fixes. 2014-09-19 18:19:19 +02:00
antirez
44acd50a11 First version of release scripts. 2014-09-19 17:44:08 +02:00
Jan-Erik Rediger
ef57f94df0 Use correct github url to find commands.json
Once this is merged:
  - merge the latest changes to commands.json in antirez/redis-doc
  - re-run: utils/generate-command-help.rb > src/help.h

Then we'll have nice and easy tab-completed help in redis-cli again.

Closes #1909
2014-08-25 10:15:28 +02:00
Jan-Erik Rediger
367035a983 Don't use extended Regexp Syntax
It's not POSIX (BSD systems have -E instead) and we don't actually need it.

Closes #1922
2014-08-13 19:34:03 +02:00
Jan-Erik Rediger
6df1251baa install_server.sh: add missing bang
This was discovered by _bodya and reported in the IRC channel.
Everything worked fine as these scripts are always executed as shell
scripts.

Closes #1728
2014-08-07 17:14:08 +02:00
antirez
9eeb03e5f7 generate-command-help.rb updated with new hyperloglog group. 2014-04-22 16:13:58 +02:00
antirez
b612affba3 Make hll-gnuplot-graph.rb callable from cli. 2014-04-03 16:38:11 +02:00
antirez
cf34507b87 hll-gnuplot-graph.rb improved with new filter.
The function to generate graphs is also more flexible as now includes
step and max value. The step of the samples generation function is no
longer limited to min step of 1000.
2014-04-02 12:30:11 +02:00
antirez
5afcca34ce HyperLogLog API prefix modified from "P" to "PF".
Using both the initials of Philippe Flajolet instead of just "P".
2014-03-31 22:48:01 +02:00
antirez
e887c62e45 HyperLogLog: make API use the P prefix in honor of Philippe Flajolet. 2014-03-31 19:29:40 +02:00
antirez
0c9f06a237 hll-gnuplot-graph.rb: added new filter "all". 2014-03-31 15:45:06 +02:00
antirez
69a93194fd hll-gnuplot-graph.rb: Use |error| when filter is :max 2014-03-31 11:58:13 +02:00
antirez
a8fb1a328d Ignore txt files inside utils/hyperloglog.
Those are generated to trace graphs using gnuplot.
2014-03-31 10:21:14 +02:00
antirez
7f9d289e10 hll-gnuplot-graph.rb added to plot HyperLogLog error graphs. 2014-03-31 10:09:43 +02:00
antirez
fdf81b2d35 hll-err.rb: speedup using pipelining. 2014-03-28 22:25:30 +01:00
antirez
f29123364b hll-err.rb added to test error rate of Redis HyperLogLog. 2014-03-28 18:35:21 +01:00
Salvatore Sanfilippo
68a3af5f9c Merge pull request #1609 from badboy/install_server-fix
Finally fix the `install_server.sh` script.
2014-03-24 18:10:50 +01:00
antirez
6972f18cbd Add test-lru.rb to utils.
This is a program useful to evaluate the Redis LRU algorithm behavior.
2014-03-21 09:52:05 +01:00
Jan-Erik Rediger
2209d077d3 Finally fix the install_server.sh script.
Includes changes from a dozen bug reports and pull requests.
Was tested on Ubuntu, Debian and CentOS.
2014-03-15 14:43:50 +01:00
Ryan Biesemeyer
ae8642fb79 Deprecate utils/redis-copy.rb in favor of redis-copy gem 2013-11-06 08:31:57 +00:00
Brian J. McManus
bb58e517a9 Issue 804 Add Default-Start and Default-Stop LSB tags for RedHat startup and update-rc.d compatability. 2012-12-02 21:46:37 -07:00
dvir volk
34f37fb7d3 fixed server install script to rewrite the default configuration file and not a template, and removed the old config template
Conflicts:

	utils/redis.conf.tpl
2012-10-05 12:32:58 +02:00
Salvatore Sanfilippo
abf54ee73c Merge pull request #494 from quiver/init-fixes
fix several bugs of init.d scripts
2012-05-04 04:41:02 -07:00
quiver
c4286feabe fix several bugs of init.d scripts
- PIDFILE environ variable was not properly retrieved
- chkconfig command failed
2012-05-04 20:07:00 +09:00
antirez
d9237055ba Explicitly use bash for install_server.sh. Fixes issue #397 2012-04-24 19:14:03 +02:00
antirez
1ad4d50805 redis-cli help.h updated. Script to generate it updated as well. 2012-04-03 15:30:33 +02:00
ThePicard
b0c6ee1d1d Fixed a typo in install_server.sh 2012-03-31 23:39:58 -07:00
antirez
7a0c72f345 redis_init_script template updated. 2012-03-20 13:07:59 +01:00
antirez
92e984dbcd The universe is 80 columns wide, accept it. 2012-02-22 17:22:40 +01:00
Brad Voth
bad2b8e6ec updated utils/install_server.sh to support chkconfig boxes (redhat/
centos) as well as debian/ubuntu
2012-01-18 10:09:42 -05:00
antirez
d5a8018287 speed-regression.tcl: command line options to select tests, data size, and number of requests. 2011-11-07 17:18:50 +01:00
antirez
55758a5fab speed-regression.tcl: move tests, data size, requests in global vars that will be changed via command line options. 2011-11-07 16:52:55 +01:00
antirez
85bc9b06b7 speed-regression.tcl script: killing previously tested instance fixed. Don't run if there is already an instance running in the same port. 2011-11-07 16:00:15 +01:00
antirez
84c6bdfcd0 speed-regression.tcl script: obtain test names dynamically. 2011-11-07 15:35:01 +01:00
antirez
9f080a01fa first version of the speed regression test 2011-11-04 20:45:46 +01:00
dvir volk
9a01957f68 fixes to install script 2011-10-04 16:58:55 +02:00
antirez
0bb5160cb0 Revert "Use the new install script as make install target. Message about install script requiring root changed a bit to make it more evident."
After talking with Pieter he changed my mind about this, it is better to
have a simpler install script that works everywhere, and the complex one
can be always executed if needed by hand. We'll make possibly a new
target for the full featured installation script, and even suggest it
after a Make install.

This reverts commit f1e60d7530.
2011-10-03 16:04:44 +02:00
antirez
f1e60d7530 Use the new install script as make install target. Message about install script requiring root changed a bit to make it more evident. 2011-10-03 13:28:54 +02:00
dvir volk
78f56a5aee changed license to gpl BSD. LOL 2011-10-03 11:35:30 +02:00
dvir volk
c01043baf1 changed license to gpl v3 2011-10-03 11:29:01 +02:00
dvir volk
001f8da256 fixes to install script and template 2011-10-03 10:58:43 +02:00
dvir volk
9210e70173 Added installer and config template renderer 2011-10-03 10:48:07 +02:00
antirez
55937b7972 Fixed init script bug, thanks to Henrik Westphal 2011-06-14 17:11:44 +02:00
antirez
b0d68504e9 Better init script 2011-06-14 13:49:15 +02:00
antirez
249ad25f4f BGSAVE work in progress 2011-01-05 18:38:31 +01:00
antirez
d3e5e28804 added mkrelease.sh script into utils. gitignore modified accordingly since this script was originally ignored 2010-12-20 15:47:33 +01:00
antirez
6418b4c790 help.h updated 2010-12-15 17:39:40 +01:00
Pieter Noordhuis
a2a69d5803 Refactor help-related code into redis-cli.c 2010-11-28 21:37:19 +01:00
Pieter Noordhuis
50d0e82d54 Update help.h generator script to output man-style argument list 2010-11-28 17:45:58 +01:00
Tj Holowaychuk
5397f2b596 Added redis-cli interactive help support
updated via commands.json in redis-doc repo. Currently
use `make src/help.h` to re-generate. The following
are valid from the REPL:

  help
  help [command]
  help [group]
  help groups

ex:

  help sort
  help hash
2010-11-16 05:50:26 -08:00
antirez
7f9a4db3c0 Fix for the init script provided with Redis, thanks to Rowan. This fixes issue 316 2010-09-09 10:24:56 +02:00
antirez
e193873025 changed the comments on top of redis-copy.rb to reflect what the program really does 2010-08-24 10:10:01 +02:00
antirez
a69a0c9c3b More threaded I/O VM work + Redis init script 2010-01-11 05:15:54 -05:00
antirez
e96e4fbf15 Two important fixes to append only file: zero length values and expires. A pretty neat new test to check consistency of randomly build datasets against snapshotting and AOF. 2009-12-15 13:06:41 -05:00
antirez
b32627cdc1 some change to redis-sha1.rb utility to make it more robust against non-meaningful changes in the dataset 2009-12-11 18:45:25 +01:00
antirez
5ad3c8c852 redis-sha1.rb utility updated 2009-12-10 19:47:12 +01:00
antirez
bcfc686db7 Tcl script, make target, and redis.c changes to build the static symbol table automagically 2009-11-10 19:20:32 +01:00
antirez
8034b0f9e0 added utils/redis-copy.rb, a script that is able to copy data from one Redis server to another one on the fly. 2009-07-05 12:56:59 +02:00
antirez
57172ffb31 CPP client added thanks to Brian Hammond 2009-05-09 09:25:59 +02:00
antirez
6208b3a776 Non blocking replication (finally!). C-side linked lists API improved. 2009-04-20 23:51:51 +02:00
antirez
8de4907a86 redis-sha1 utility added 2009-03-28 11:50:27 +01:00