Skip to content

Instantly share code, notes, and snippets.

View antirez's full-sized avatar

Salvatore Sanfilippo antirez

View GitHub Profile
Trying ::1...
Connected to localhost.
Escape character is '^]'.
*12
3
-ERR Protocol error: expected '$', got '3'
Connection closed by foreign host.

Job IDs

Disque jobs are uniquely identified by an ID like the following:

DI0f0c644fd3ccb51c2cedbd47fcb6f312646c993c05a0SQ

Job IDs always start with "DI" and end with "SQ" and are always composed of exactly 48 characters.

ddd874d serializeJob(), sds concat logic fixed.
8220a01 NEEDJOBS fixes.
0b05ae6 Put the clusterNode name as first field.
69922f2 Federation: WIP, a few fixes.
a096b52 Federation: clusterSendYourJobs() WIP.
b9ba68c Federation: some API changes needed for YOURJOBS + more.
256fee3 Initially set queue atime to current unix time.
f359e2f Debugging printf() removed from needJobsForQueue().
6b1a575 Federation: more fixes to NEEDJOBS. Still WIP.
58e130f Federation: a few fixes to NEEDJOBS related functions.
./disque
127.0.0.1:7711> qlen myqueue
(integer) 0
127.0.0.1:7711> getjobs from myqueue
1) 1) "myqueue"
2) "DIf6c5b55b33c9cc2220740102a1935080e4e6863905a0SQ"
3) "myjob"
(4.01s)
set foo '{"some_field":"1"}'
eval "return cjson.decode(redis.call('get','foo'))['some_field']" 0
@antirez
antirez / xmas.c
Created December 24, 2014 18:48
Happy xmas!
#include <stdio.h>
#include <stdlib.h>
int
main()
{int h=9,
d=0,x;while
(h--){for(x=0;
x<39;x++){int a=x
-6;if(a<0)a=-a;printf
127.0.0.1:7711> show DI0f0c644f9970a46cd1b2ce2ead31a30d8ad981d005a0SQ
1) "id"
2) "DI0f0c644f9970a46cd1b2ce2ead31a30d8ad981d005a0SQ"
3) "queue"
4) "myqueue"
5) "state"
6) "queued"
7) "repl"
8) (integer) 3
9) "ttl"
dictForeach(d,entry)
printf("%s -> %s\n", dictGetKey(entry), dictGetVal(entry));
dictForeach(d2,entry2)
printf("* %s\n", dictGetKey(entry2));
dictEnd
dictEnd
@antirez
antirez / gist:d72d58fbcdb278dda0e2
Last active August 29, 2015 14:03
New Redis LATENCY DOCTOR command example
127.0.0.1:6379> config set latency-monitor-threshold 10
OK
127.0.0.1:6379> debug sleep .1
OK
127.0.0.1:6379> debug sleep .2
OK
127.0.0.1:6379> debug sleep .3
OK
127.0.0.1:6379> latency doctor
Dave, I have observed latency spikes in this Redis instance.
$LOAD_PATH.unshift("./lib")
# This file implements a simple consistency test for Redis (or any other
# Redis environment if you pass a different client object) where a client
# write to the database using INCR in order to increment keys, but actively
# remember the value the key should have. Before every write a read is performed
# to check if the value in the database matches the value expected.
#
# In this way this program can check for lost writes, or acknowledged writes
# that were executed.