Exemplo n.º 1
0
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;

}
Exemplo n.º 2
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();
		}
	}	
}
Exemplo n.º 3
0
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.");
}
Exemplo n.º 4
0
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;

}
Exemplo n.º 5
0
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;

}