我只是在我网络上的 ubuntu 系统上设置了 memcached。没有更改任何选项,所以一切都是默认的。我想尝试使用 Enyim 连接到服务器。它没有失败,但是当我尝试检索项目时,它们始终为空。我不是一个低水平的人,但我之前已经能够从wireshark中辨别出东西,所以我决定试一试。我无法辨别任何东西,但我注意到我发送的第一个 .Store() 命令实际上将网络数据包发送到了正确的地址。每个 .Store() 命令都没有做任何事情。
这是我的 app.config:
我已经尝试过“二进制”和“文本”协议,他们做了同样的事情。
这是我的 C# 代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Enyim.Caching;
using Enyim.Caching.Configuration;
using Enyim.Caching.Memcached;
namespace MemCacheTest
{
internal class Program
{
private static void Main(string[] args)
{
//var config = new MemcachedClientConfiguration();
//config.Servers.Add(new IPEndPoint(new IPAddress(new byte[] {10, 0, 0, 1}), 11211));
//config.Protocol = MemcachedProtocol.Binary;
var mc = new MemcachedClient();
for (var i = 0; i < 100; i++)
mc.Store(StoreMode.Set, "Hello", "World");
mc.Store(StoreMode.Set, "MyKey", "Hello World");
Console.WriteLine(mc.Get("MyKey"));
Console.WriteLine("It should have failed!!!");
Console.ReadLine();
}
}
}
有谁知道发生了什么或我如何确定出了什么问题?我觉得奇怪的是我没有收到任何异常,所以我在配置文件中设置了一个无效的 IP 地址。结果相同。