跨平台 C/C++ memcached 客户端 memcacheclient 介绍
1、简介
2、环境&软件准备
3、安装&&配置
Windows
Linux
- CC=g++
- AR=ar
- ARFLAGS=-rcs
- CFLAGS=-Wall
- CPPFLAGS=-Wall
- LIBS=-lrt
- LIB_OBJS=MemCacheClient.o ReadWriteBuffer.o Socket.o Matilda.o sha1.o
- OBJS=MemCacheClientTest.o MemCacheClient.o ReadWriteBuffer.o Socket.o Matilda.o sha1.o
- all: $(OBJS)
- $(CC) -o MemCacheClientTest $(OBJS) $(LIBS)
- $(AR) $(ARFLAGS) libMemCacheClient.a $(LIB_OBJS)
- mkdir lib
- mv libMemCacheClient.a lib
- clean:
- rm -rf core *.o lib MemCacheClientTest
- install:
- @echo No install provided. Include the source files in your project.
- MemCacheClientTest.o : MemCacheClientTest.cpp
- MemCacheClient.o : MemCacheClient.cpp MemCacheClient.h
- ReadWriteBuffer.o : ReadWriteBuffer.cpp ReadWriteBuffer.h
- md5.o : md5.c md5.h
4、测试
- #include <iostream>
- #ifdef WIN32
- # include <winsock2.h>
- # pragma comment(lib, "ws2_32.lib")
- #endif
- #include <MemCacheClient.h>
- //#include <ReadWriteBuffer.h>
- int main(int argc, char *argv[])
- {
- #ifdef WIN32
- WSADATA wsaData;
- int rc = WSAStartup(MAKEWORD(2,0), &wsaData);
- if (rc != 0) {
- std::cout << "Failed to start winsock." << std::endl;
- return 1;
- }
- #endif
- MemCacheClient *pMemCacheClient = new MemCacheClient;
- try
- {
- if (pMemCacheClient->AddServer("192.168.21.23:22133"))
- {
- std::cout << "Add server 192.168.21.23:22133 successful!" << std::endl;
- }
- MemCacheClient::MemRequest cSetReqTest;
- cSetReqTest.mKey = "TestSet";
- cSetReqTest.mData.WriteBytes("TestSet", sizeof("TestSet"));
- if(pMemCacheClient->Set(cSetReqTest) == 1)
- {
- std::cout << "Set TestSet->TestSet successful!" << std::endl;
- }
- MemCacheClient::MemRequest cGetReqTest;
- cGetReqTest.mKey = "TestSet";
- if(pMemCacheClient->Get(cGetReqTest) == 1)
- {
- std::cout << "Get TestSet->TestSet successful!" << std::endl;
- }
- std::string sResult(cGetReqTest.mData.GetReadBuffer(), cGetReqTest.mData.GetReadSize());
- std::cout << "Get:" << sResult << std::endl;
- }
- catch(std::exception &e)
- {
- std::cerr << "Exception:" << e.what() << std::endl;
- }
- delete pMemCacheClient;
- return 0;
- };
Makefile:
- CC=g++
- CPPFLAGS=-Wall -I$(MEMCACHECLIENT_ROOT)
- LDFLAGS=-L$(MEMCACHECLIENT_ROOT)/lib -lMemCacheClient -lrt
- OBJS=MemcacheClientTest.o
- all : $(OBJS)
- $(CC) -o MemcacheClientTest $(OBJS) $(LDFLAGS)
- MemcacheClientTest.o : MemcacheClientTest.cpp
- $(CC) $(CPPFLAGS) -c MemcacheClientTest.cpp
- clean :
- rm -rf *.o MemcacheClientTest
完整的测试工程文件,见 MemCacheClientTest.zip
总结
跨平台 C/C++ memcached 客户端 memcacheclient 介绍相关推荐
- 【转】memcached工作原理介绍
FROM: http://my.oschina.net/flynewton/blog/8984 官方主页: http://memcached.org/ 面临的问题 对于高并发高访问的Web应用程序来 ...
- memcached客户端_Memcached Java客户端示例
memcached客户端 Today we will look into Memcached Java client example. Earlier we learned about telnet ...
- 基于java nio的memcached客户端——xmemcached
1.xmemcached是什么? xmemcached是基于java nio实现的memcached客户端API. 实际上是基于我实现的一个简单nio框架 http://code.google.com ...
- Memcached 客户端使用
Memcached 客户端使用 网上摘抄,以备后用 package com.test.memcache; import java.util.Date; import com.danga.MemCac ...
- 【Alljoyn】 Alljoyn学习笔记七 Alljoyn瘦客户端库介绍
Alljoyn瘦客户端库介绍(上) 1.简介 本文档对AllJoynTM瘦客户端的核心库文件(AJTCL)进行了详尽的介绍.本文档介绍了系统整体架构,AllJoyn框架结构,并着重于介绍如何将嵌入式设 ...
- c++ ftp服务端_FTP客户端软件介绍及使用
FTP客户端软件介绍及使用 客户端软件: ftp,lftp,lftpget,wget,curl ftp -A ftpserver port -A 主动模式 –p 被动模式 lftp –u userna ...
- memcached客户端_分布式算法真是吊炸天 – memcached - 第287篇
相关历史文章(阅读本文之前,您可能需要先看下之前的系列 ) 色谈Java序列化:女孩子慎入 - 第280篇 烦不烦,别再问我时间复杂度了:这次不色,女孩子进来吧 - 第281篇 双向链表,比西天还远? ...
- 艾伟:自己实现memcached客户端库
What's memcached ? memcached是一个以key-value的形式缓存数据的缓存系统.通过将数据缓存到内存中,从而提高数据的获取速度. memcached以key-value的形 ...
- 【数据库】GaussDB客户端工具介绍
文章目录 前言 一.客户端工具介绍 二.zsql安装 三.gsql 四.Data Studio 前言 这次我们来看GaussDB的一些客户端工具,帮助我们更好的操作数据库 一.客户端工具介绍 客户端工 ...
最新文章
- DL-5 深度学习框架的对比
- 回车与换行 ASCII
- Java编程经验汇总
- 进制转换中dbho是什么意思_什么是网段?二进制十进制如何互相转换?看完这篇,你就全明白了...
- Flume+HBase+Kafka集成与开发
- matlab如何创建元组_MATLAB图像处理:42:使用预定义滤波器过滤图像
- Java集合类源码解析:Vector
- 计算机硬件的基本组成(计算机组成原理3)
- 电力拖动自动控制系统_建筑电气控制系统安装
- 【LeetCode】75. 颜色分类,使得相同颜色的元素相邻
- frida-trace入门
- STRING网站分析蛋白质相互作用
- 搜狗浏览器收藏夹误删恢复
- 深度学习: 指数加权平均
- Power BI中计算同比、环比
- 网络在线直播技术揭秘(一):编码与压缩算法
- java 面试知识点笔记(七)多线程与并发 上篇
- 交换机与路由器技术:VLAN Trunk、单臂路由和三层交换及配置
- springboot vue3 elementui plus小说阅读网站源码
- 从流水线角度看MIPS处理器ISA的实现逻辑以及RTOS操作系统仿真
热门文章
- oracle消除重复的行使用的什么函数,利用Oracle的row_number() over函数消除重复的记录...
- foreach 二维java_教你如何用for和foreach循环遍历java中的二维数组
- 高中数学?_JAVA
- 【自动驾驶】33.【图像坐标系】 到 【像素坐标系】 的度量单位变换、【英寸】、【感光芯片】
- Python-OpenCV 处理图像(四):图像直方图和反向投影
- Ubuntu命令行下安装、卸载、管理软件包的方法
- echarts散点图使用
- java 异常捕捉 ( try catch finally ) 你真的掌握了吗?
- Spring(一)——总体介绍
- 信息系统项目管理师:论项目的质量管理