| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | #include <stdlib.h>#include <hiredis.h>#include <async.h>#include <adapters/glib.h>static GMainLoop *mainloop;static voidconnect_cb (const redisAsyncContext *ac G_GNUC_UNUSED,            int status){    if (status != REDIS_OK) {        g_printerr("Failed to connect: %s\n", ac->errstr);        g_main_loop_quit(mainloop);    } else {        g_printerr("Connected...\n");    }}static voiddisconnect_cb (const redisAsyncContext *ac G_GNUC_UNUSED,               int status){    if (status != REDIS_OK) {        g_error("Failed to disconnect: %s", ac->errstr);    } else {        g_printerr("Disconnected...\n");        g_main_loop_quit(mainloop);    }}static voidcommand_cb(redisAsyncContext *ac,           gpointer r,           gpointer user_data G_GNUC_UNUSED){    redisReply *reply = r;    if (reply) {        g_print("REPLY: %s\n", reply->str);    }    redisAsyncDisconnect(ac);}gintmain (gint argc     G_GNUC_UNUSED,      gchar *argv[] G_GNUC_UNUSED){    redisAsyncContext *ac;    GMainContext *context = NULL;    GSource *source;    ac = redisAsyncConnect("127.0.0.1", 6379);    if (ac->err) {        g_printerr("%s\n", ac->errstr);        exit(EXIT_FAILURE);    }    source = redis_source_new(ac);    mainloop = g_main_loop_new(context, FALSE);    g_source_attach(source, context);    redisAsyncSetConnectCallback(ac, connect_cb);    redisAsyncSetDisconnectCallback(ac, disconnect_cb);    redisAsyncCommand(ac, command_cb, NULL, "SET key 1234");    redisAsyncCommand(ac, command_cb, NULL, "GET key");    g_main_loop_run(mainloop);    return EXIT_SUCCESS;}
 |