int main(int argc, char **argv) { char c; redis_client_st *redis_client; char config_path[1024]; int count = 10000; if (argc <= 2) { printf("usage: ./%s -f xxx.conf", "proftest"); return 1; } memset(config_path, 0, sizeof(config_path)); while (-1 != (c = getopt(argc, argv, "f:m:h"))) { switch (c) { case 'f': snprintf(config_path, sizeof(config_path), "%s", optarg); break; case 'm': count = atoi(optarg); break; case '?': case 'h': printf("usage: ./%s -f xxx.conf -m 10000", "proftest"); break; } } redis_client = redis_client_init(config_path); int i; long t; int num = count; printf("Sending %d 'set' commands ...\n", num); timer(1); for (i = 0; i < num; i++) { if (redis_query(redis_client, "set [email protected] hello") == NULL) printf("get returned error\n"); } t = timer(0); printf("done! Took %.3f seconds, that is %ld commands/second\n", ((float) t) / 1000, (num * 1000) / t); printf("Sending %d 'get' commands ...\n", num); timer(1); for (i = 0; i < num; i++) { if (redis_query(redis_client, "get [email protected]") == NULL) printf("get returned error\n"); } t = timer(0); printf("done! Took %.3f seconds, that is %ld commands/second\n", ((float) t) / 1000, (num * 1000) / t); return 0; }
void aggregator_save_feed( map <string, string> &edit ) { if(DB_TYPE==1) { if (isset(edit["fid"]) && isset(edit["title"])) { redis_command("HMSET aggregator_feed:%d title %s url %s refresh %d", intval(edit["fid"]), edit["title"].c_str(), edit["url"].c_str(), intval(edit["refresh"]) ); } else if (isset( edit["fid"] )) { string iid; redis_command("DEL aggregator_feed:%d", intval(edit["fid"]) ); REDIS_RES * result = redis_query("SMEMBERS aggregator_item:fid:%d", intval(edit["fid"]) ); while( redis_fetch( result, iid ) ) { redis_command("DEL aggregator_item:%d", intval(iid) ); redis_command("SREM aggregator_item %d", intval(iid) ); } redis_command("DEL aggregator_item:fid:%d", intval(edit["fid"]) ); } else if ( isset(edit["title"]) ) { edit["fid"] = redis_str("INCR aggregator_feed:ids"); redis_command("SADD aggregator_feed %d", intval(edit["fid"]) ); redis_command("HMSET aggregator_feed:%d title %s url %s refresh %d block %d", intval(edit["fid"]), edit["title"].c_str(), edit["url"].c_str(), intval(edit["refresh"]), 5 ); } } if(DB_TYPE==2) { if (isset(edit["fid"]) && isset(edit["title"])) { db_querya("UPDATE aggregator_feed SET title = '%s', url = '%s', refresh = %d WHERE fid = %d", edit["title"].c_str(), edit["url"].c_str(), edit["refresh"].c_str(), edit["fid"].c_str() ); } else if (isset( edit["fid"] )) { db_querya("DELETE FROM aggregator_feed WHERE fid = %d", edit["fid"].c_str() ); db_querya("DELETE FROM aggregator_item WHERE fid = %d", edit["fid"].c_str() ); } else if ( isset(edit["title"]) ) { db_querya("INSERT INTO aggregator_feed (title, url, refresh, block, description, image) VALUES ('%s', '%s', %d, 5, '', '')", edit["title"].c_str(), edit["url"].c_str(), edit["refresh"].c_str() ); edit["fid"] = db_last_insert_id(); } } }
void aggregator_remove( map <string, string> feed ) { if(DB_TYPE==1) { string iid; REDIS_RES * result = redis_query("SMEMBERS aggregator_item:fid:%d", intval(feed["fid"]) ); while( redis_fetch( result, iid ) ) { redis_command("DEL aggregator_item:%d", intval(iid) ); redis_command("SREM aggregator_item %d", intval(iid) ); } redis_command("DEL aggregator_item:fid:%d", intval(feed["fid"]) ); redis_command("HMSET aggregator_feed:%d checked %d etag %s modified %d", intval(feed["fid"]), 0, "", 0 ); } if(DB_TYPE==2) { db_querya("DELETE FROM aggregator_item WHERE fid = %d", feed["fid"].c_str() ); db_querya("UPDATE aggregator_feed SET checked = 0, etag = '', modified = 0 WHERE fid = %d", feed["fid"].c_str() ); } set_page_message("The news items from "+feed["title"]+" have been removed."); }
int main(int argc, char *argv[]) { char c; redis_client_st *redis_client; char config_path[1024]; if (argc <= 2) { printf("usage: ./%s -f xxx.conf", PROGRAME); return 1; } memset(config_path, 0, sizeof(config_path)); while (-1 != (c = getopt(argc, argv, "f:h"))) { switch (c) { case 'f': snprintf(config_path, sizeof(config_path), "%s", optarg); break; case '?': case 'h': printf("usage: ./%s -f xxx.conf", PROGRAME); break; } } redis_reply_st *reply = NULL; redis_client = redis_client_init(config_path); redis_return_st rc; printf("test add conn\n"); redis_add_conns(redis_client, "*****@*****.**", "*****@*****.**" ); reply = redis_query(redis_client, "sismember {[email protected]}_conns [email protected]"); assert(reply->integer == 1); freeReply(reply); printf("* "); printf("test add following\n"); redis_add_following(redis_client, "*****@*****.**", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_followings [email protected]"); assert(reply->integer == 1); freeReply(reply); reply = redis_query(redis_client, "sismember [email protected][email protected] 2233"); assert(reply->integer == 0); freeReply(reply); printf("* "); printf("test del conns\n"); redis_del_conns(redis_client, "*****@*****.**", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_conns [email protected]"); assert(reply->integer == 0); freeReply(reply); reply = redis_query(redis_client, "sismember [email protected]_followings [email protected] "); assert(reply->integer == 0); freeReply(reply); printf("* "); printf("test add_block\n"); redis_add_block(redis_client, "*****@*****.**", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_blocks [email protected]"); assert(reply->integer == 1); freeReply(reply); printf("* "); printf("test del_block\n"); redis_del_block(redis_client, "*****@*****.**", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_blocks [email protected]"); assert(reply->integer == 0); freeReply(reply); printf("* "); printf("test get_guids\n"); char **guid; int len; redis_get_guids(redis_client, "*****@*****.**", "*****@*****.**", &guid, &len); int i = 0; for (i = 0; i < len; i++) { printf("%s\n", guid[i]); } printf("* "); printf("test add_jid_to_group\n"); redis_add_jid_to_group(redis_client, "*****@*****.**", "*****@*****.**", "1221"); redis_add_jid_to_group(redis_client, "*****@*****.**", "*****@*****.**", "1221"); reply = redis_query(redis_client, "sismember {[email protected]}_group_1221 [email protected]"); assert(reply->integer == 1); freeReply(reply); //分組管理 printf("* "); printf("test del_jid_from_group\n"); redis_del_jid_from_group(redis_client, "*****@*****.**", "*****@*****.**", "1221"); reply = redis_query(redis_client, "sismember {[email protected]}_group_1221 [email protected]"); assert(reply->integer == 0); freeReply(reply); //分組管理 printf("* "); printf("test del group\n"); redis_del_group(redis_client, "*****@*****.**", "1221"); reply = redis_query(redis_client, "sismember {[email protected]}_group_1221 [email protected]"); assert(reply->integer == 0); freeReply(reply); //分組管理 printf("* "); printf("\nend\n"); return 1; }
int main(int argc, char *argv[]) { char c; redis_client_st *redis_client; char config_path[1024]; if (argc <= 2) { printf("usage: ./%s -f xxx.conf", PROGRAME); return 1; } memset(config_path, 0, sizeof(config_path)); while (-1 != (c = getopt(argc, argv, "f:h"))) { switch (c) { case 'f': snprintf(config_path, sizeof(config_path), "%s", optarg); break; case '?': case 'h': printf("usage: ./%s -f xxx.conf", PROGRAME); break; } } redis_reply_st *reply = NULL; redis_client = redis_client_init(config_path); redis_return_st rc; printf("test send_forbidden \n"); rc = redis_add_send_forFeedtype(redis_client, "*****@*****.**", "sync.gozap.com"); reply = redis_query(redis_client, "sismember {[email protected]}_send_forbidden_feeds sync.gozap.com"); assert(reply->integer == 1); freeReply(reply); printf("* "); rc = redis_rem_send_forFeedtype(redis_client, "*****@*****.**", "sync.gozap.com"); reply = redis_query(redis_client, "sismember {[email protected]}_send_forbidden_feeds sync.gozap.com"); assert(reply->integer == 0); freeReply(reply); printf("* "); rc = redis_add_send_forJid(redis_client, "*****@*****.**", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_send_forbidden_jids [email protected]"); assert(reply->integer == 1); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); rc = redis_rem_send_forJid(redis_client, "*****@*****.**", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_send_forbidden_jids [email protected]"); assert(reply->integer == 0); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); rc = redis_add_send_forFeedtypeJid(redis_client, "*****@*****.**", "sync.gozap.com", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_send_forbidden_sync.gozap.com [email protected]"); assert(reply->integer == 1); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); rc = redis_rem_send_forFeedtypeJid(redis_client, "*****@*****.**", "sync.gozap.com", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_send_forbidden_sync.gozap.com [email protected]"); assert(reply->integer == 0); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); printf("\n end \n"); printf("test receive_forbidden \n"); rc = redis_add_receive_forFeedtype(redis_client, "*****@*****.**", "sync"); reply = redis_query(redis_client, "sismember {[email protected]}_receive_forbidden_feeds sync"); assert(reply->integer == 1); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); rc = redis_rem_receive_forFeedtype(redis_client, "*****@*****.**", "sync"); reply = redis_query(redis_client, "sismember {[email protected]}_receive_forbidden_feeds sync"); assert(reply->integer == 0); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); rc = redis_add_receive_forJid(redis_client, "*****@*****.**", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_receive_forbidden_jids [email protected]"); assert(reply->integer == 1); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); rc = redis_rem_receive_forJid(redis_client, "*****@*****.**", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_receive_forbidden_jids [email protected]"); assert(reply->integer == 0); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); rc = redis_add_receive_forFeedtypeJid(redis_client, "*****@*****.**", "sync", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_receive_forbidden_sync [email protected]"); assert(reply->integer == 1); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); rc = redis_rem_receive_forFeedtypeJid(redis_client, "*****@*****.**", "sync", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_receive_forbidden_sync [email protected]"); assert(reply->integer == 0); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); printf("\n end \n"); printf("set auto\n"); rc = redis_set_feed_auto(redis_client, "*****@*****.**", "1212",1); reply = redis_query(redis_client, "get {[email protected]}_1212_auto"); assert(strcmp(reply->str,"1")==0 ); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); char *feed = "10001"; rc = redis_create_gozap_feed(redis_client, feed); reply = redis_query(redis_client, "sismember gozap_feeds %s", feed); assert(reply->integer == 1); freeReply(reply); printf("* "); char *comps[] = {"sync", "link"}; rc = redis_set_gozap_feed_comp(redis_client, feed, comps ,2); reply = redis_query(redis_client, "sismember {%s}_comps sync", feed); assert(reply->integer == 1); freeReply(reply); reply = redis_query(redis_client, "sismember {%s}_comps link", feed); assert(reply->integer == 1); freeReply(reply); printf("* "); rc = redis_add_gozap_feed_process(redis_client, feed, "process2" ); reply = redis_query(redis_client, "sismember {%s}_processes process2", feed); assert(reply->integer == 1); freeReply(reply); assert(rc == REDIS_SUCCESS); printf("* "); rc = redis_del_gozap_feed_type(redis_client, feed); reply = redis_query(redis_client, "sismember gozap_feeds %s", feed); assert(reply->integer == 0); freeReply(reply); printf("* "); reply = redis_query(redis_client, "EXISTS {%s}_comps", feed); assert(reply->integer == 0); freeReply(reply); printf("* "); reply = redis_query(redis_client, "EXISTS {%s}_processes", feed); assert(reply->integer == 0); freeReply(reply); printf("* "); assert(rc == REDIS_SUCCESS); printf("* "); printf("\nend\n"); return 1; }