【问题标题】:Can't get cached items back from memcached?无法从 memcached 中取回缓存的项目?
【发布时间】:2012-11-29 00:50:08
【问题描述】:

我只是在我网络上的 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 地址。结果相同。

【问题讨论】:

    标签: c# memcached


    【解决方案1】:

    简短的回答:如果您的服务正在运行,请检查您的端口,它应该以某种方式被阻止。 (你是否在 Ubuntu 防火墙(iptables)中为端口 11211 添加了例外?)

    telnet 10.0.0.1 11211 如果您的服务器上有 telnet 客户端,这将显示端口不可访问。

    即使端口不可访问,Enyim 也不会向您抛出错误。是的,这很奇怪。

    【讨论】:

      【解决方案2】:

      添加到dasun答案。默认情况下安装 memcached 时,它配置为仅侦听“lo/localhost”接口。它是唯一真正拥有的安全内存缓存。即使您尝试在本地远程登录并指定 lo 接口,例如:

      telnet 10.0.0.1 11211
      

      它会失败。要修复,您必须进入 memcached.conf 文件并注释掉

      # -l 127.0.0.1 
      

      然后重启服务

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-01-09
        • 1970-01-01
        • 2010-11-22
        • 1970-01-01
        • 2020-03-19
        • 2012-10-25
        • 1970-01-01
        相关资源
        最近更新 更多