const fexp* db_connect(closure* c, db* self) { if ((self->handle == NULL) || (credis_ping(self->handle) != 0)) { self->handle = credis_connect("localhost", 6379, 2000); // TODO - get redis DB address from config } // check connection if ((self->handle == NULL) || (credis_ping(self->handle) != 0)) { // TODO - try to start up redis server return (fexp*)send(VillageBus, s_villagebus_error, L"Could not connect to redis server"); } return fexp_nil; }
int main(int argc, char **argv) { REDIS redis; REDIS_INFO info; int rc; redis = credis_connect(NULL, 9999, 10000); if (redis == NULL) { printf("Error connecting to Redis server. Please start server to run tests.\n"); exit(1); } printf("Testing a number of credis functions. To perform a simplistic set-command\n"\ "benchmark, run: `%s <num>' where <num> is the number\n"\ "of set-commands to send.\n\n", argv[0]); printf("\n\n************* misc info ************************************ \n"); rc = credis_ping(redis); printf("ping returned: %d\n", rc); rc = credis_info(redis, &info); printf("info returned %d\n", rc); printf("> redis_version: %s\n", info.redis_version); printf("> arch_bits: %d\n", info.arch_bits); printf("> multiplexing_api: %s\n", info.multiplexing_api); printf("> process_id: %ld\n", info.process_id); printf("> uptime_in_seconds: %ld\n", info.uptime_in_seconds); printf("> uptime_in_days: %ld\n", info.uptime_in_days); printf("> connected_clients: %d\n", info.connected_clients); printf("> connected_slaves: %d\n", info.connected_slaves); printf("> blocked_clients: %d\n", info.blocked_clients); printf("> used_memory: %zu\n", info.used_memory); printf("> used_memory_human: %s\n", info.used_memory_human); printf("> changes_since_last_save: %lld\n", info.changes_since_last_save); printf("> bgsave_in_progress: %d\n", info.bgsave_in_progress); printf("> last_save_time: %ld\n", info.last_save_time); printf("> bgrewriteaof_in_progress: %d\n", info.bgrewriteaof_in_progress); printf("> total_connections_received: %lld\n", info.total_connections_received); printf("> total_commands_processed: %lld\n", info.total_commands_processed); printf("> expired_keys: %lld\n", info.expired_keys); printf("> hash_max_zipmap_entries: %zu\n", info.hash_max_zipmap_entries); printf("> hash_max_zipmap_value: %zu\n", info.hash_max_zipmap_value); printf("> pubsub_channels: %ld\n", info.pubsub_channels); printf("> pubsub_patterns: %u\n", info.pubsub_patterns); printf("> vm_enabled: %d\n", info.vm_enabled); printf("> role: %d\n", info.role); printf("\n\n************* sets ************************************ \n"); rc = credis_sadd(redis, "fruits", "banana"); printf("sadd returned: %d\n", rc); rc = credis_sadd(redis, "fruits", "apple"); printf("sadd returned: %d\n", rc); credis_close(redis); return 0; }
//----------------------------------------------------------------------------- int CRedisClient::ping() { int r = -1; if (mRedisCon) r = credis_ping(mRedisCon); if (r == 0) return 1; // success return 0; // failure }