日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

高速缓存系统之memcache c++使用实例

發(fā)布時(shí)間:2025/3/21 c/c++ 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高速缓存系统之memcache c++使用实例 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

下載源碼編譯,memcached就是生成的主程序,啟動(dòng)可指定端口,memcached作為server端,依然是我們熟悉的cs模式,使用兩個(gè)client一個(gè)setkey,一個(gè)getkey一百萬(wàn)個(gè)做測(cè)試。

./memcached -d -m 300 -p 11211 -u root -c 4096 #include "../libmemcached-1.0.7/libmemcached/memcached.h" #include<iostream> #include<string> #include<time.h> using std::string; using std::cout; using std::endl;class MemCachedClient {public:~MemCachedClient(){memcached_free(memc);};MemCachedClient(){memcached_return rc;memcached_server_st *server = NULL;memc = memcached_create(NULL);server =memcached_server_list_append(server, "127.0.0.1", 11211, &rc);rc=memcached_server_push(memc,server);if (MEMCACHED_SUCCESS != rc){cout <<"memcached_server_push failed! rc: " << rc << endl;}memcached_server_list_free(server);};int Insert(const char* key, const char* value,time_t expiration = 3){if (NULL == key || NULL == value){return -1;}uint32_t flags = 0;memcached_return rc;rc = memcached_set(memc, key, strlen(key),value, strlen(value)+1, expiration, flags);if (MEMCACHED_SUCCESS == rc){return 1;}else{return 0;}};string Get(const char* key){if (NULL == key){return "";}uint32_t flags = 0;memcached_return rc;size_t value_length;char* value = memcached_get(memc, key, strlen(key), &value_length, &flags, &rc);if(rc == MEMCACHED_SUCCESS){return value;}return "";};private:memcached_st* memc; };#include<iostream> using std::cout; using std::endl; #include<time.h> #include<stdlib.h> #include<stdio.h>int main() {MemCachedClient mc;clock_t begin_tick_counts = clock();long object_nums = 1000000;char buff[32];for (int i=0; i<=object_nums; ++i){sprintf(buff, "key-%d",i);mc.Insert(buff,buff, 60);//printf("%s\n", mc.Get(buff).c_str());}clock_t end_tick_counts = clock();printf("set %ld values costs %f ticks\n", object_nums, (double)(end_tick_counts - begin_tick_counts)/CLOCKS_PER_SEC);return 1; }
#include "../libmemcached-1.0.7/libmemcached/memcached.h" #include<iostream> #include<string> #include<time.h> using std::string; using std::cout; using std::endl;class MemCachedClient {public:~MemCachedClient(){memcached_free(memc);};MemCachedClient(){memcached_return rc;memcached_server_st *server = NULL;memc = memcached_create(NULL);server =memcached_server_list_append(server, "127.0.0.1", 11211, &rc);rc=memcached_server_push(memc,server);if (MEMCACHED_SUCCESS != rc){cout <<"memcached_server_push failed! rc: " << rc << endl;}memcached_server_list_free(server);};int Insert(const char* key, const char* value,time_t expiration = 3){if (NULL == key || NULL == value){return -1;}uint32_t flags = 0;memcached_return rc;rc = memcached_set(memc, key, strlen(key),value, strlen(value)+1, expiration, flags);if (MEMCACHED_SUCCESS == rc){return 1;}else{return 0;}};string Get(const char* key){if (NULL == key){return "";}uint32_t flags = 0;memcached_return rc;size_t value_length;char* value = memcached_get(memc, key, strlen(key), &value_length, &flags, &rc);if(rc == MEMCACHED_SUCCESS){return value;}return "";};private:memcached_st* memc; };#include<iostream> using std::cout; using std::endl; #include<time.h> #include<stdlib.h> #include<stdio.h>int main() {MemCachedClient mc;clock_t begin_tick_counts = clock();long object_nums = 1000000;char buff[32];for (int i=0; i<=object_nums; ++i){sprintf(buff, "key-%d",i);const char *key = mc.Get(buff).c_str();if(i == object_nums)printf("key:%s\n", key);}clock_t end_tick_counts = clock();printf("get %ld value costs:%f ticks\n", object_nums, (double)(end_tick_counts - begin_tick_counts)/CLOCKS_PER_SEC);return 1; }
TARGET = test_memcached_getkey SOURCE = test_memcached_getkey.cpp CFLAG = -g3 -O0 -Wl,-rpath=./ -lmemcachedTARGET:g++ $(SOURCE) -o $(TARGET) $(CFLAG) test_memcached_setkey:g++ test_memcached_setkey.cpp -o test_memcached_setkey $(CFLAG) .phony:clean clean:rm $(TARGET)rm test_memcached_setkey


《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的高速缓存系统之memcache c++使用实例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 青青草华人在线视频 | 久久66热这里只有精品 | 开心色站 | 香蕉网av | 日本免费一区二区三区视频 | aa视频在线 | 亚洲卡一 | 国产56页| 香港三级韩国三级日本三级 | 国产精品18久久久久久久久 | 夜夜操av | 97福利视频 | 中文字幕欧美人妻精品 | 亚洲成人1区| www.污网站| 国产精品一区不卡 | 手机在线观看免费av | 九九热这里有精品 | 欧美成人高清 | 杨幂一区二区三区免费看视频 | 欧美12--15处交性娇小 | 国产精品xxxxx| 椎名由奈av一区二区三区 | 国产一区二区三区视频免费观看 | 一区二区三区午夜 | 老师的肉丝玉足夹茎 | 欧美成人精品欧美一级私黄 | 深夜免费在线视频 | 久久久精品日本 | 日韩欧美一区二区在线 | 在线观看v片 | 国产成人午夜视频 | 亚洲天堂中文在线 | 黄页视频在线免费观看 | 成人h动漫精品一区二区器材 | 日本黄色三级 | 亚洲羞羞| 国产高清自拍一区 | 欧美一级淫片免费视频魅影视频 | 538精品在线视频 | 黄色在线资源 | 亚洲精品在 | 乳色吐息在线观看 | 天天天操 | 久久久久1 | 欧美处女| 国产真实偷伦视频 | 亚洲乱码中文字幕 | av黄色片在线观看 | 黄色国产在线观看 | 欧美成人午夜电影 | 免费观看成年人视频 | www.亚洲人| 成年人av网站 | 色老久久 | 三级小说视频 | 特高潮videossexhd | 春意影院福利社 | 日韩欧美视频一区 | 久久久久久久偷拍 | 蜜桃av色偷偷av老熟女 | 91天堂素人 | 国产做爰全免费的视频软件 | 中国人妖和人妖做爰 | 国产无遮挡呻吟娇喘视频 | 国产精品系列在线 | 尤物视频在线观看国产 | 啪啪福利社 | 亚洲一区欧美激情 | 开心激情网五月天 | 国产精品一卡二卡在线观看 | 久久久久久免费 | 国产又粗又猛又爽又黄 | 与亲女洗澡时伦了毛片 | 热精品 | 国产精品久久久久一区二区三区 | 亚洲精品一区二区口爆 | 91免费视频国产 | 国模私拍一区二区 | 男人靠女人免费视频网站 | 精品视频一二三区 | 国产精品黄色在线观看 | 在线观看成人免费 | 欧美一区二区黄片 | 女人高潮被爽到呻吟在线观看 | 一级片黑人 | 色肉色伦交av色肉色伦 | 成人毛片视频在线观看 | 中文精品一区二区三区 | 成人导航网站 | 婷婷色婷婷开心五月四房播播 | 最新日韩三级 | 色av吧| 天堂在线www | 亚洲成人三级 | 99精品一区二区三区无码吞精 | 风流僵尸艳片a级 | 日韩久操 | 手机在线观看免费av |