C++使用内存库接口示例
来源:互联网 发布:大数据的4v特征是 编辑:程序博客网 时间:2024/06/07 22:52
redis内存库使用示例:
#include <stdio.h>
#include <hiredis/hiredis.h>
int main()
{
redisContext *conn = redisConnect("127.0.0.1",7777);
if(conn != NULL && conn->err)
{
printf("connection error: %s\n",conn->errstr);
return 0;
}
redisReply *reply = (redisReply*)redisCommand(conn,"hset mm a 1234");
printf("set return: %d\n",reply->integer);
freeReplyObject(reply);
reply = (redisReply*)redisCommand(conn,"hset mm b 111");
freeReplyObject(reply);
reply = (redisReply*)redisCommand(conn, "HGETALL mm");
printf("get return: %d\n",reply->elements);
for (int i=0; i<reply->elements; ++i)
{
printf("get return: %s\n",reply->element[i]->str);
}
freeReplyObject(reply);
redisFree(conn);
return 0;
}
memcached内存库使用示例:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <string>
#include <libmemcached/memcached.h>
using namespace std;
int getServerId(char* key, int serverTotal)
{
int c, hash = 0;
while (c = *key++)
{
hash += c;
}
return hash % serverTotal;
}
int main(int argc, char* argv[])
{
memcached_st *memc;
memcached_return rc;
memcached_server_st *servers;
char value[8191];
memc = memcached_create(NULL);
servers = memcached_server_list_append(NULL, "localhost", 11211, &rc);
servers = memcached_server_list_append(servers, "localhost", 11210, &rc);
servers = memcached_server_list_append(servers, "localhost", 11212, &rc);
servers = memcached_server_list_append(servers, "localhost", 11213, &rc);
rc = memcached_server_push(memc, servers);
int n = memcached_server_list_count(servers);
printf("list_count: %d", n);
memcached_server_free(servers);
size_t i;
char* keys[]={"key1","key2","key3","aa"};
size_t key_length[] = {4,4,4,2};
char *values[] = {"this is 1", "this is 2", "this is 3", "this is 4"};
size_t val_length[] = {9,9,9,9};
for (int i = 0; i < 4; i++)
{
rc = memcached_set(memc, keys[i], key_length[i], values[i], val_length[i], (time_t)180, (uint32_t)0);
if (rc == MEMCACHED_SUCCESS)
{
printf("save key: %s data: %s success\n", keys[i], values[i]);
}
else
{
printf("save key: %s data: %s failed\n", keys[i], values[i]);
}
}
//查看key值所在的服务器id
for (int i = 0; i < 4; i++)
{
int id = getServerId(keys[i],4);
printf("key: %s serverid: %d\n", keys[i], id);
}
char return_key[MEMCACHED_MAX_KEY];
size_t return_key_length;
char *return_value;
size_t return_value_length;
uint32_t flags;
rc = memcached_mget(memc, keys, key_length,4);
while (return_value = memcached_fetch(memc, return_key, &return_key_length, &return_value_length, &flags, &rc))
{
if (rc == (MEMCACHED_SUCCESS))
{
printf("Fetch key: %s data:%s\n", return_key, return_value);
}
}
for (i = 0; i < 4; i++)
{
rc = memcached_set(memc, keys[i], key_length[i], values[i], val_length[i], (time_t)180, (uint32_t)0);
rc = memcached_delete(memc, keys[i], key_length[i], (time_t)0);
if (rc == MEMCACHED_SUCCESS)
{
printf("Delete %s %s success\n", keys[i], values[i]);
}
}
memcached_free(memc);
return 0;
}
- C++使用内存库接口示例
- 【龙芯1c库】封装gpio接口和使用示例
- 【龙芯1c库】封装时钟接口和使用示例
- 【龙芯1c库】封装硬件pwm接口和使用示例
- 【龙芯1c库】封装引脚复用接口和使用示例
- 【龙芯1c库】封装软件延时接口和使用示例
- 【龙芯1c库】封装模拟I2C接口和使用示例
- 【龙芯1c库】封装硬件定时器接口和使用示例
- 【龙芯1c库】封装硬件I2C接口和使用示例
- 【龙芯1c库】封装硬件SPI接口和使用示例
- Comparable接口使用示例
- php 接口使用示例
- c语言内存泄露示例
- c语言内存泄露示例
- c语言内存泄露示例
- 使用CURL调用接口[*示例*]
- sqlite API(C\C++)接口示例
- Compareble 接口与Comparator接口使用示例
- 解决grails上传文件过大,发生异常的问题
- 遍历HashMap的四种方法
- eclipse maven run as on server src/main
- 查询重复或不重复记录SQL语句
- Gradle version 2.10 is required. Current version is 2.8.
- C++使用内存库接口示例
- 报错:“App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure
- table 固定列和行的实现
- 将var_dump内容保存到文件或者变量中
- leetcode 131. Palindrome Partitioning-回溯算法
- Java加密技术(三)——PBE算法
- Angularjs Config
- 通讯录的原型实现(二)- 类似QQ好友列表实现,分组名悬浮在最顶部
- android开发中常用到的工具类