ホームページ データベース mysql チュートリアル 【转】LoadRunner使用Libmemcached与Memcached通讯_MySQL

【转】LoadRunner使用Libmemcached与Memcached通讯_MySQL

Jun 01, 2016 pm 01:51 PM
データベース

memcache

    在一包含业务的大数据量测试过程中,需要使用快速、大容量的数据库。

    可考虑的有关系型数据库或键值缓存数据库,建立集群。 LoadRunner操作Mysql实例:C语言篇已完成。

    今日来尝试在LoadRunner里操作Memcached,使用Libmemcached。

    首先下载源码:‍http://svn.coderepos.org/share/lang/c/libmemcached-win32

      然后按照说明进行编译,源码里还有测试代码和示例代码。编译方法有三种:

        一、使用‍mingw32进行编译,打开‍ Visual Studio Command Prompt:

‍    ‍    cd libmemcached-latest/libmemcached
‍    ‍    mingw32-make -f Makefile.w32

‍    ‍    cd ../cilents
‍    ‍    mingw32-make -f Makefile.w32

‍    ‍    cd ../../example
‍    ‍    mingw32-make -f Makefile.w32
    二、使用Visual Studio 2005或更高版本执行编译: ‍    ‍    libmemcached-latest/visualc/libmemcached.sln     三、使用nmake进行编译,‍打开‍ Visual Studio Command Prompt: ‍    ‍    cd libmemcached-latest/libmemcached
‍    ‍    nmake -f Makefile.msc

‍‍    ‍    cd ../cilents
‍    ‍    nmake -f Makefile.msc

‍    ‍    cd ../../example
‍‍    ‍    nmake -f Makefile.msc     编译过程将生成memcached.dll,供LoadRunner扩展调用。如下图: ‍

源码:

#define SERVER_NAME "192.168.223.106"
#define SERVER_PORT 11211
Action(){ //先加载libmemcached.dll
    int memc;
    int rc;
    int value_length=0;
    intf lags=0;
    int result;
    long int num;
    char* key="name";
    char* value="higkoo";
    char* discription="Performance";

    memc=memcached_create(NULL);
    rc=memcached_server_add(memc,SERVER_NAME,SERVER_PORT);
    lr_output_message("server add: %s/n",memcached_strerror(memc,rc));

     rc=memcached_set(memc,key,strlen(key),value,strlen(value),0,0);
     lr_output_message("set '%s' to '%s': %s/n",key,value,memcached_strerror(memc,rc));

    result=memcached_get(memc,key,strlen(key),&value_length,&flags,&rc);
    lr_output_message("get '%s': %s/n",key,memcached_strerror(memc,rc));
    lr_output_message("%s = %s/n",key,result);

    rc=memcached_behavior_set(memc,0,1);
    lr_output_message("behavior set to non-block: %s/n",memcached_strerror(memc,rc));

    result=memcached_get(memc,key,strlen(key),&value_length,&flags,&rc);
    lr_output_message("get '%s': %s/n",key,memcached_strerror(memc,rc));
    lr_output_message("%s = %s/n",key,value);

    rc=memcached_set(memc,key,strlen(key),discription,strlen(discription),0,0);
    lr_output_message("set '%s' to '%s': %s/n",key,discription,memcached_strerror(memc,rc));

    rc=memcached_increment(memc,key,strlen(key),1,&num);
    lr_output_message("incr '%s': %s/n",key,memcached_strerror(memc,rc));
    rc=memcached_increment(memc,key,strlen(key),1,&num);
    lr_output_message("incr '%s': %s/n",key,memcached_strerror(memc,rc));
    rc=memcached_increment(memc,key,strlen(key),1,&num);
    lr_output_message("incr '%s': %s/n",key,memcached_strerror(memc,rc));
    rc=memcached_decrement(memc,key,strlen(key),1,&num);
    lr_output_message("decr '%s': %s/n",key,memcached_strerror(memc,rc));

    result=memcached_get(memc,key,strlen(key),&value_length,&flags,&rc);
    lr_output_message("get '%s': %s/n",key,memcached_strerror(memc,rc));
    lr_output_message("test = %s/n",value);

    rc=memcached_delete(memc,key,strlen(key),0);
    lr_output_message("delete '%s': %s/n",key,memcached_strerror(memc,rc));

    result=memcached_get(memc,key,strlen(key),&value_length,&flags,&rc);
    lr_output_message("get(was deleted) '%s': %s/n",key,memcached_strerror(memc,rc));

    memcached_free(memc);
}

...

绿色通道:好文要顶关注我收藏该文与我联系
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Go 言語はデータベースの追加、削除、変更、クエリ操作をどのように実装しますか? Go 言語はデータベースの追加、削除、変更、クエリ操作をどのように実装しますか? Mar 27, 2024 pm 09:39 PM

Go 言語はデータベースの追加、削除、変更、クエリ操作をどのように実装しますか?

PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル Jun 04, 2024 pm 01:42 PM

PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル

iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます Jul 18, 2024 am 05:48 AM

iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます

MySQL と PL/SQL の類似点と相違点の比較 MySQL と PL/SQL の類似点と相違点の比較 Mar 16, 2024 am 11:15 AM

MySQL と PL/SQL の類似点と相違点の比較

Hibernate はポリモーフィック マッピングをどのように実装しますか? Hibernate はポリモーフィック マッピングをどのように実装しますか? Apr 17, 2024 pm 12:09 PM

Hibernate はポリモーフィック マッピングをどのように実装しますか?

HTML がデータベースを読み取る方法の詳細な分析 HTML がデータベースを読み取る方法の詳細な分析 Apr 09, 2024 pm 12:36 PM

HTML がデータベースを読み取る方法の詳細な分析

MySQL データベース管理システムの基本原理の分析 MySQL データベース管理システムの基本原理の分析 Mar 25, 2024 pm 12:42 PM

MySQL データベース管理システムの基本原理の分析

Go WebSocket はどのようにデータベースと統合しますか? Go WebSocket はどのようにデータベースと統合しますか? Jun 05, 2024 pm 03:18 PM

Go WebSocket はどのようにデータベースと統合しますか?

See all articles