| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | 
							- #include <stdlib.h>
 
- #include <hiredis.h>
 
- #include <async.h>
 
- #include <adapters/glib.h>
 
- static GMainLoop *mainloop;
 
- static void
 
- connect_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 void
 
- disconnect_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 void
 
- command_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);
 
- }
 
- gint
 
- main (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;
 
- }
 
 
  |