热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

华为云memcached的搭建

这几天有时间在整brpc,准备用brpc写一个简单的memcached的客户端,区别于之前使用的libmemcaced。所以先得搭建memcached&

这几天有时间在整brpc,准备用brpc写一个简单的memcached的客户端,区别于之前使用的libmemcaced。所以先得搭建memcached,之前本来有搭建好的,但是服务器后面重装做其他的去了,所以想着就用云主机吧。

蹭着华为云新手可以免费领取一个月的memcached,所以选择使用华为云,试着搭建看看。
官网链接如下:https://support.huaweicloud.com/usermanual-dcs/zh-cn_topic_0033568425.html

1、搭建环境

用华为云,首先得去领取ECS服务器,然后配一个弹性的IP,然后通过远程到ECS上去访问对应的memcached。
给出一个框架图;
在这里插入图片描述
从图上可以很清楚的看到,用户登录到ECS上,在通过ECS区域访问memcached。

那么这些ECS和memecached如何获取呢?
这个很简单,就是在华为云的官网直接购买就行,这里我使用的是免费试用版的。
在你成功购买之后,会给予执行的memcached的访问IP地址和端口号。
获取memcached如下:
在这里插入图片描述

获取ECS如下:
在这里插入图片描述

2、连接memcached

在获取到对应的环境之后,就简单了,通过xshell远程登录的ECS,然后进行memcached的连接。
连接主要分为两块测试:Telnet客户端登录、libmemcached登录

2.1 Telnet客户端登录

首先通过yum去下载更新telnet并执行以下命令,判断是否安装成功。

yum install telnet
which telnet

结果
在这里插入图片描述
若界面显示Telnet客户端所在目录,表示当前云服务器已安装Telnet客户端。否则需要重新安装Telnet客户端。

然后进行远程登陆,这里需要注意,在你创建memcached的时候给你分配了一个IP地址和端口号,这里就是你需要获取登陆的IP地址和端口号。

telnet {ip or domain name} {port}

登陆完成之后,显示结果如下:
在这里插入图片描述
然后进行memcached的命令测试:
给出常见的set,get命令。

set hello 0 0 6
world!
STORED
get hello
VALUE hello 0 6
world!
END

在这里插入图片描述
发现能正常的读写,测试完成。

2.2 libmemcached登录

在华为云memcached上面提供了一个cpp的客户端介绍。这里给出案例也是使用原案例,未作修改,链接如下:https://support.huaweicloud.com/usermanual-dcs/zh-cn_topic_0082114845.html

首先下载并安装libmemcached

wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz

安装sasl相关依赖包

yum install cyrus-sasl*

执行如下命令进行安装libmemcached

tar -xzvf libmemcached-x.y.z.tar.gz
cd libmemcached-x.y.z
./configure --enable-sasl
make
make install

按照上述的步骤,完成了libmemcached的安装

下面使用libmemcached完成get set的功能
首先新建编译脚本文件

g++ -o dcs_sample dcs_sample.cpp -lmemcached -std=c++0x -lpthread -lsasl2

说明:
编译如果报错找不到libmemcached.so.11文件,请用find命令找到此文件,并将其拷贝到/usr/lib目录下。

新建dcs_sample.cpp文件

#include <iostream>
#include <string>
#include <libmemcached/memcached.h>
using namespace std;#define IP "ip or domain name"
#define PORT port
memcached_return rusult;memcached_st * init()
{memcached_st *memcached &#61; NULL;memcached_server_st *cache;memcached &#61; memcached_create(NULL);cache &#61; memcached_server_list_append(NULL, IP, PORT, &rusult);memcached_server_push(memcached,cache);memcached_server_list_free(cache);return memcached;
}int main(int argc, char *argv[])
{memcached_st *memcached&#61;init();string key &#61; "memcached";string value &#61; "hello world!";size_t value_length &#61; value.length();int expire_time &#61; 0;uint32_t flag &#61; 0;rusult &#61; memcached_set(memcached,key.c_str(),key.length(),value.c_str(),value.length(),expire_time,flag); if (rusult !&#61; MEMCACHED_SUCCESS){cout <<"set data failed: " << rusult << endl;return -1;}cout << "set succesed, key: " << key << " ,value: " << value << endl;cout << "get key:" << key << endl;char* result &#61; memcached_get(memcached,key.c_str(),key.length(),&value_length,&flag,&rusult);cout << "value:" << result << endl;memcached_free(memcached);return 0;
}

最后按照脚本文件编译&#xff0c;生成dcs_sample二进制文件。

chmod 700 build.sh
./build.sh

运行程序

./dcs_sample

在这里插入图片描述

注意&#xff1a;出现编译如果报错找不到libmemcached.so.11文件&#xff0c;可以参考这篇博客链接完成&#xff1a;
https://blog.csdn.net/huangshaotian/article/details/42780471


推荐阅读
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • Firefox火狐浏览器关闭到http://detectportal.firefox.com的流量问题解决办法
    本文介绍了使用Firefox火狐浏览器时出现关闭到http://detectportal.firefox.com的流量问题,并提供了解决办法。问题的本质是因为火狐默认开启了Captive portal技术,当连接需要认证的WiFi时,火狐会跳出认证界面。通过修改about:config中的network.captive-portal-service.en的值为false,可以解决该问题。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了在CentOS 7.x上进行端口映射配置的方法,通过修改内核和配置防火墙实现端口映射。作者分享了自己使用华为服务器进行端口映射的经验,发现网速比直连还快且稳定。详细的配置过程包括开启系统路由模式功能、设置IP地址伪装、设置端口映射等。同时,还介绍了如何监听本地端口的tcp请求,以及删除规则和开放的端口的方法。 ... [详细]
author-avatar
情非不得以1_810
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有