.Net程序测试使用阿里云OCS开放缓存服务

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/41809901 ...
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/41809901


首先需要有一个阿里的OCS实例和ECS云服务器

请确认这两个是在同一个可用区的,这个很重要!

这两个可以在阿里云官网申请得到

 

拿到OCS之后

进入OCS控制台,点击下面的客户端下载选择.Net客户端,或者直接点这里下载.Net客户端

https://img-blog.csdn.net/20141208200839484?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXExMDEwODg1Njc4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

 

下载下来的是一个压缩文件,解压之后是可能是一个没有格式的文件,不要管它,用winrar或者其他的解压软件在解压一次

得到一个文件夹,里面放的是一个VS的解决方案,如图

https://img-blog.csdn.net/20141208201319382?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXExMDEwODg1Njc4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

 

这就是一个客户端,双击打开解决方案

选择Enyim.Caching项目重新生成一下

https://img-blog.csdn.net/20141208201434902?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXExMDEwODg1Njc4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

 

右键打开该项目所在的文件夹->bin->Debug

可以看到Enyim.Caching.dll这两个文件

https://img-blog.csdn.net/20141208201533246?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXExMDEwODg1Njc4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

 

把这两个文件复制到新建的控制台项目中,然后添加dll引用


新建MemCached类,代码如下:

public sealed class MemCached
    {
        private static MemcachedClient MemClient;
        static readonly object padlock = new object();
        //线程安全的单例模式
        public static MemcachedClient getInstance()
        {
            if (MemClient == null)
            {
                lock (padlock)
                {
                    if (MemClient == null)
                    {
                        MemClientInit();
                    }
                }
            }
            return MemClient;
        }

        static void MemClientInit()
        {
            //初始化缓存
            MemcachedClientConfiguration memConfig = new MemcachedClientConfiguration();
            string address = Dns.GetHostByName
 ("your_instanceid.m.cnszalist3pub001.ocs.aliyuncs.com").AddressList[0].ToString();//your_instanceid替换为你的OCS实例的ID
            IPAddress newaddress =
   IPAddress.Parse(address);            
IPEndPoint ipEndPoint = new IPEndPoint(newaddress, 11211);

            // 配置文件 - ip
            memConfig.Servers.Add(ipEndPoint);
            // 配置文件 - 协议
            memConfig.Protocol = MemcachedProtocol.Binary;
            // 配置文件-权限
            memConfig.Authentication.Type = typeof(PlainTextAuthenticator);
            memConfig.Authentication.Parameters["zone"] = "";
            memConfig.Authentication.Parameters["userName"] = "username";
            memConfig.Authentication.Parameters["password"] = "password";
            //下面请根据实例的最大连接数进行设置
            memConfig.SocketPool.MinPoolSize = 5;
            memConfig.SocketPool.MaxPoolSize = 200;
            MemClient = new MemcachedClient(memConfig);
        }
    }


以上是阿里官方提供的示例代码修改版,原版复制过来有点错误

注意:

string address = Dns.GetHostByName
 ("your_instanceid.m.cnszalist3pub001.ocs.aliyuncs.com").AddressList[0].ToString();//your_instanceid替换为你的OCS实例的ID

Dns.GetHostByName方法里面的字符串要从OCS控制台那边的内网地址复制过来

上次因为只复制了实例ID替换了your_instanceid,结果调了两天都没好


在控制台主函数中调用MemCached类的getInstance方法得到一个MemcachedClient对象并调用方法向OCS中插入数据

static void Main(string[] args)
        {
            MemcachedClient client = MemCached.getInstance();
            client.Store(Enyim.Caching.Memcached.StoreMode.Set, "1", "2");
            Console.ReadKey();
        }


到OCS控制台查看插入的数据


测试结束

关于.Net客户端MemcachedClient类的更多方法使用实例请看:

C#使用Memcached缓存数据示例


相关文章
|
1月前
|
安全 Linux 虚拟化
|
2月前
|
测试技术 持续交付 API
深入挖掘探索.NET单元测试
【10月更文挑战第11天】
43 2
|
14天前
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
61 13
|
20天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
49 1
|
1月前
|
IDE 测试技术 开发工具
.NET开发者福音:JetBrains官方宣布 Rider 非商用免费开放!
.NET开发者福音:JetBrains官方宣布 Rider 非商用免费开放!
|
2月前
|
测试技术 API 开发者
精通.NET单元测试:MSTest、xUnit、NUnit全面解析
【10月更文挑战第15天】本文介绍了.NET生态系统中最流行的三种单元测试框架:MSTest、xUnit和NUnit。通过示例代码展示了每种框架的基本用法和特点,帮助开发者根据项目需求和个人偏好选择合适的测试工具。
46 3
|
2月前
|
缓存 弹性计算 NoSQL
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
|
1月前
|
开发框架 安全 .NET
.NET使用Moq开源模拟库简化单元测试
.NET使用Moq开源模拟库简化单元测试~
|
2月前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
58 3
|
2月前
|
安全 Linux 网络安全
Kali渗透测试:远程控制程序基础
Kali渗透测试:远程控制程序基础
41 0
Kali渗透测试:远程控制程序基础
下一篇
DataWorks