有谁知道如果、何时或如何让Memcached在 Windows 64 位环境中运行?
我正在设置一个新的托管解决方案,并且更喜欢运行 64 位操作系统,因为它是一个带有 SQL Server DB 的 ASP.Net MVC 解决方案,所以操作系统要么是 Windows Server 2003,要么是(希望!)2008。
我知道这可能会引发关于服务器上 32 位与 64 位的争论,但我只想说我的偏好是 64 位,而且我有一些很好 的理由。
到目前为止,我已经尝试了许多选项,并找到了一些与在 32位机器上安装它相关的帮助(我可能会添加成功),但由于原始Windows 端口是 Win32 特定的,这几乎没有帮助在 x64 上作为服务安装时。它还依赖于我只能获得 Win32 编译版本的libevent 。
我怀疑简单地在 C++ 中加载所有这些并点击“编译”(对于 64 位)是行不通的,尤其是因为 32 位和 64 位架构的复杂差异,但我想知道是否有人正在努力解决这个问题地面?不幸的是,我的专长仅在于托管代码 (C#),否则我会尝试自己承担这一点,但我不敢相信我是唯一一个试图让memcached在 64 位 Windows 服务器上运行的人。 ..我吗?
更新
是的,恐怕我仍在寻找这个问题的答案——我所有的努力(用我可怜的 C++ 技能)来建立一个稳定的构建都失败了——我已经破坏了一台服务器和 3 个虚拟机只是在尝试,所以现在我求助于真正的专家。有人打算将其移植到64位吗?还是您真的建议我改用 MS Velocity?一想到我就不寒而栗。
更新:@Lars - 我确实使用 Enyim - 它非常好,但你指的是客户端,而不是服务器部分。
@DannySmurf - 我只能将它作为服务安装在 32 位操作系统上。64 位操作系统拒绝安装此 Win32 服务。当然是的,许多 Win32 代码在 x64 架构上无缝运行,因此您可以在 Vista/XP 64 等上运行 32 位应用程序(例如 Office)或游戏,但这并不能直接转化为服务。我不是专家,我怀疑这与服务需要订阅的同步或事件有关,而且我怀疑 64 和 32 不能很好地发挥作用。我很高兴得到纠正,但要回答你的问题 - 是的,我已经尝试过了。
@OJ - 非常感谢您的直截了当的回应。我想了很多,但不确定其他人是否有建议或已经走这条路。也许当 StackOverflow 上线时,会有更多人回复并让我知道这是否正在研究,尽管我可以尝试自己编译它 - 我根本无法“相信”(以我的 C++ 经验水平)它将在大型可扩展解决方案的关键组件中提供“企业级”可靠性。我认为这需要有教养的干预,而不是我未经消毒的实验方法,然后我才能有信心。我的一个小小的疏忽可能会导致网站瘫痪。哦,好吧……直到下一次。