Incr appears to run twice--why?

I'm having a hard time getting node, redis, and async to do what I want. I'm trying very basic things to grasp the patterns of redirecting control flow. Here, I hold a counter variable "success" that increases by one if a comparison key0 > key1 is true. They are static for now so it's always true; the only thing I wish to change is to increment success. I refresh the browser to re-run the comparison and increment success again.

My trouble is: when the page is refreshed, success jumps by 2. I tried putting a callback with incr, but it looks like only get-type commands have callbacks. I have a client.end(); in my script, but it prevented me from reloading the page so I commented it out. I suspect this is the source of my problem. If so, where does client.end belong?

var http = require("http");
var redis = require("redis");
var async = require("async");

client = redis.createClient();

http.createServer(function(request, response) {
        // key "success" set to 0 externally, through redis-cli;
        client.set("key0", "19");
        client.set("key1", "11");

        response.writeHead(200, {"Content-Type": "text/plain"});

        async.series([
              shortcut("key0"),
              shortcut("key1"),
              shortcut("success")
             ],

             function(err, results){
                 if (results[0] > results[1]) {
                     client.incr("success", function(err, reply) {
                             response.write("incr done");
                         });
                     response.write(results[0] + "\n\n");
                     response.write(results[1] + "\n\n");

                     response.write(results[2]);
                 }
                 response.end();
                 // client.quit();
         });
    }).listen(8000);

function shortcut(key) {
    return function(callback) { 
        client.get(key, function(err, reply) { 
                          callback(null, reply); 
                        }
                  ); 
    }
}

Your browser most likely requests favicon.ico and thus generates the extra request which runs your code a second time.