问题标签 [memcached]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
13 回答
59039 浏览

c# - 我可以让 Memcached 在 Windows (x64) 64 位环境中运行吗?

有谁知道如果何时如何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++ 经验水平)它将在大型可扩展解决方案的关键组件中提供“企业级”可靠性。我认为这需要有教养的干预,而不是我未经消毒的实验方法,然后我才能有信心。我的一个小小的疏忽可能会导致网站瘫痪。哦,好吧……直到下一次。

0 投票
4 回答
13344 浏览

caching - System.Web.Caching 与 Enterprise Library 缓存块

对于将在 Web 应用程序和富客户端应用程序中使用的 .NET 组件,似乎有两个明显的缓存选项:System.Web.Caching 或 Ent。库。缓存块。

  • 你用什么?
  • 为什么?

系统.Web.缓存

这在网络应用程序之外使用是否安全?我看到了混杂的信息,但我认为答案可能不是真的。

我不希望使用它的亮点之一,SqlCacheDependency,但在 .NET 3.5 中添加CacheItemUpdateCallback似乎是一件非常好的事情。

企业库缓存应用程序块

  • 其他块已在使用中,因此依赖项已存在
  • 不需要缓存持久性;重新启动时重新生成缓存是可以的

一些缓存项应该始终可用,但会定期刷新。对于这些项目,在项目被删除后获取回调不是很方便。看起来客户端只需要休眠并轮询,直到重新填充缓存项。

用于 Win32 + .NET 客户端的 Memcached

当您不需要分布式缓存时,有什么优点和缺点?

0 投票
3 回答
2789 浏览

php - 在 CentOS 上设置 memcached 以使用 Apache 和 PHP 的最佳方法是什么

对于 Linux 世界的新手来说,在 CentOS 上安装 memcached 的最简单方法是什么?为 Apache 和 PHP 启用它的最佳方法是什么

0 投票
4 回答
11889 浏览

caching - 内存缓存控制面板?

我们一直在 3 个网络服务器上运行eAccelerator,并希望在所有 3 个网络服务器上迁移到一个memcache池,希望将我们的数据库查找减少约 2/3。

eAccelerator 的便利之处之一是基于 Web 的控制界面 ( control.php ),事实证明,当我们不得不意外刷新缓存、快速监控缓存中的脚本等时,它非常有用。

我们一直在寻找,但没有找到任何可以为 memcache 提供相同类型功能的东西——有人知道这种东西是否存在吗?

显然,使用控制台上的 memcache 刷新缓存等很容易,但我们的特殊设置意味着我们可能会有人监控我们的前端并需要刷新缓存,而这些人不一定具有服务器上的 shell 访问权限。

0 投票
2 回答
1292 浏览

php - PHP中的全局/会话范围值

在 PHP 中是否有处理全局范围变量的标准方法?会话范围?

根据我所做的研究,看起来这些选项主要是附加组件或外部的。APC 可能会工作,但仅限于单个 PHP 实例,对于服务器场不是那么有用。Memcached似乎可以工作,但我希望在 PHP 中找到一些东西。

它的无状态方法是否使其不再是处理此问题的标准方法?

0 投票
3 回答
1289 浏览

php - 测试/调试/修复 PHP 并发问题的工具?

我发现自己在 PHP 中使用 memcached 做了一些相对高级的工作。考虑和解决由缓存的无锁特性引起的竞争条件和并发问题正在成为一种精神斗争。

PHP 在并发方面的工具似乎很差(线程,有人吗?),所以我想知道是否有任何解决方案可以正确测试/调试它。

我不想等到两个用户请求两个脚本,它们将同时作为并行进程运行并导致并发问题,这会让我摸不着头脑,或者直到它滚雪球进入 clusterfsck 时我才注意到。

我应该知道的任何神奇的 PHP 并发魔杖?

0 投票
4 回答
7983 浏览

php - 为多个主机上的 PHP 站点处理会话的最佳方法是什么?

PHP 将其会话信息存储在建立该会话的服务器主机的文件系统中。在多主机 PHP 环境中,负载不智能地分布在每个主机之间,PHP 会话变量不可用于每个请求(除非偶然将请求分配给同一主机 - 假设我们无法控制负载均衡器) .

该站点被称为“PHP 负载平衡 Hitchhikers 指南”,建议覆盖 PHP 会话处理程序并将会话信息存储在共享数据库中。

在您看来,在多 PHP 主机环境中维护会话信息的最佳方式是什么?

更新:感谢您的反馈。对于任何寻找示例代码的人,我们发现了一个关于为 MySQL 编写会话管理器类的有用教程,我建议您查看。

0 投票
2 回答
536 浏览

php - 如何避免缓存中对象的重复副本?

我正在使用 memcache 为 Web 应用程序的模型层设计缓存,我最大的问题之一是数据一致性。我想到了像这样缓存数据:(key=query,value=list of object ids result of the query)对于列表的每个id:(key=object.id,value=object)

因此,每次完成查询时:如果查询已经存在,我会从缓存中检索列表中指示的对象。如果不是,则列表的所有对象都存储在缓存中,替换任何其他旧值。

有人用过这个替代品吗,是上帝吗?还有其他想法吗?

0 投票
7 回答
1380 浏览

asp.net - 您在运行 ASP.NET 的网络场中使用什么进行分布式缓存?

我很好奇其他人在这种情况下使用的是什么。我知道一些可用的选项,例如 memcached 端口或 ScaleOutSoftware。memcached 端口似乎没有被积极处理(如果我错了,请纠正我)。ScaleOutSoftware 对我来说太贵了(我不怀疑它值得)。这并不是说我不想听到人们使用 memcached 或 ScaleOutSoftware。在这一点上,我只是陈述我“知道”的内容。

所以我的问题基本上是这样的:对于那些积极使用分布式缓存的人,你在使用什么,你对它是否满意,我应该注意什么?

我很快就会搬到两台服务器上……两者都将在同一个位置。我相当大量地(但小心地)使用缓存来减少我的数据库服务器上的负载。

编辑:我下载了 Scaleout Software 的解决方案。我已经为它编写了代码,它似乎工作得很好。我只需要决定我的钱包是否愿意为此付出现金。:) 任何人对 ScaleoutSoftware 有好的或坏的体验吗?

再次编辑:我问这个已经有一段时间了?还有什么想法吗?我们最终从 ScaleOutSoftware 购买了解决方案,并且对它感到满意,但我很好奇其他人在做什么。

0 投票
8 回答
3722 浏览

php - 缓存分页结果,清除更新 - 如何解决?

我创建了一个论坛,我们正在实施一个 apc 和 memcache 缓存解决方案来为数据库节省一些工作。

我开始使用“Categories::getAll”之类的键来实现缓存层,如果我有用户特定的数据,我会在键中附加用户 ID 之类的东西,这样你就可以得到"User::getFavoriteThreads|1471". 当用户添加新的收藏线程时,我会删除缓存键,然后它会重新创建条目。

然而,问题来了:

我想缓存论坛中的线程。很简单,“Forum::getThreads|$iForumId”。但是......使用分页,我必须将它分成几个缓存条目,例如

没关系,直到有人在论坛上发布新帖子。"Forum::getThreads|$iForumId"无论限制和偏移量是多少,我现在都必须删除 下的所有键。

解决这个问题的好方法是什么?我真的不想遍历所有可能的限制和偏移,直到找到不再匹配的东西。

谢谢。