UPDATE: apparently kernel difference may have a serious impact, so I'll redo the test from scratch.
Test performed with AOF enabled, fsync policy 1 second, allowing the rewrites to be triggered.
Command lines used:
Compile the Redis "notifications" branch on Github. | |
Start Redis with ./redis-server --notify-keyspace-events yes | |
Subscribe to all the events with: | |
redis-cli psubscribe '*' | |
In another terminal window, play with redis-cli: set, del, expire, ... Only a few already work. |
Dear white hat attackers,
recently we observed a number of Redis instances that were targeted by a simple attack,
consisting in setting a password using the CONFIG SET requirepass <password>
command
to instances which are left open on the internet.
This is, in my opinion, a good idea, since those Redis instances are going to be cracked anyway. I believe you are doing this in order to make Redis users aware they forgot to setup firewalling rules in order to make their instances not reachable from the outside.
" antirez's .vimrc | |
" Copyright(C) 2001 Salvatore Sanfilippo | |
" Enable the syntax highlight mode if available | |
syntax sync fromstart | |
if has("syntax") | |
syntax sync fromstart | |
syntax on | |
set background=dark | |
let php_sync_method="0" |
Versions history:
The Redis protocol has served us well in the past years, showing that, if carefully designed, a simple human readable protocol is not the bottleneck in the client server communication, and that the simplicity of the design is a major advantage in creating a healthy client libraries ecosystem.
Yet the Redis experience has shown that after about six years from its introduction (when it replaced the initial Redis protocol), the current RESP protocol could be improved, especially in order to make client implementations simpler and to support new features.
<!DOCTYPE html> | |
<html> | |
<head><title>Fizzlefade</title></head> | |
<body> | |
<canvas id="framebuffer" width="320" height="200"></canvas> | |
<script type="text/javascript"> | |
/* Fizzlefade using a Feistel network. |
<key>
<groupname>
<id or $>
<key>
<id or $>
<key>
<groupname>
<key>
<consumername>
<key>
[<start>
<stop>
]<key>
<group-name>
<consumer-name>
<min-idle-time>
<ID-1>
<ID-2>
...<key>
<ID-1>
<ID-2>
...[CONSUMERS
|GROUPS|STREAM|...]. STREAM is the default# This is just an hint for a simple Redis caching "framework" using Sinatra | |
# A friend of mine asked for something like that, after checking the first two gems realized there was | |
# a lot of useless complexity (IMHO). That's the result. | |
# | |
# The use_cache parameter is useful if you want to cache only if the user is authenticated or | |
# something like that, so you can do cache_url(ttl,User.logged_in?, ...) | |
require 'rubygems' | |
require 'sinatra' | |
require 'redis' |
/* vmlatency.c | |
* | |
* Measure max latency of a running process that does not result from | |
* syscalls. Basically this software should provide an hint about how much | |
* time the kernel leaves the process without a chance to run. | |
* | |
* Copyright (C) 2014 Salvatore Sanfilippo. | |
* This software is released under the BSD two-clause license. | |
* | |
* compile with: cc vmlatency.c -o vmlatency |