我用 C# 开发了一个基本的 memcache get 和 set 实现。
当我运行测试时,当测试在内存缓存服务器之外的另一台计算机上运行时,一切都会按预期进行。
当我使用 memcache server = localhost 运行相同的测试时,突然 set 命令不起作用。
我调查了这个问题,发现内存缓存服务器在我写完之后没有任何响应:
set mykey 0 0 18\r\n
638555735305882673\r\n
在向套接字写入行之后,memcached 服务器应该发送一个响应行,但是当我使用本地主机作为服务器时他不会,但当我从远程计算机运行相同的东西时他会响应存储。
我还调查了 GET 命令在本地主机和远程两种情况下都有效。
嗯,我将 StreamWriter.WriteLine 更改为 StreamWriter.Write(" ") 现在可以了。