问题标签 [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 投票
1 回答
3621 浏览

mysql - 实现 MySQL 哈希表的最佳方法?

背景

我目前正在开发一个在线社区,我想将一些临时信息存储在哈希表中。目前,此信息存储在 memcached 中,但是,如果 memcached 服务需要重新启动或失败,我想求助于磁盘上的哈希/缓存。

问题

在 MySql 中实现磁盘上的 Hash 或 Cache 表的最有效方法是什么?有没有什么技术可以用来摆脱一个包含以下字段的简单表格:

  • 哈希值
  • 储值
  • 到期日

任何帮助或见解将不胜感激。

明晰

  • 我不会存储任何复杂的数据对象,只是简单的文本字符串。
  • 我目前的计划是实现一个 InnoDB 表。
  • 任何指向类似主题的文章的链接都将是一个奖励。
0 投票
5 回答
20720 浏览

python - memcached 中对象的最佳序列化方法是什么?

我的 Python 应用程序当前使用python-memcached API来设置和获取 memcached 中的对象。此 API 使用 Python 的本机pickle 模块来序列化和反序列化 Python 对象。

这个 API 使得将嵌套的 Python 列表、字典和元组存储在 memcached 中变得简单而快速,并且将这些对象读回应用程序是完全透明的——它可以正常工作。

但是我不想局限于只使用 Python,如果所有的 memcached 对象都用 pickle 序列化,那么用其他语言编写的客户端将无法工作。

以下是我考虑过的跨平台序列化选项:

  1. XML - 主要的好处是它是人类可读的,但这在这个应用程序中并不重要。XML 也占用大量空间,而且解析成本很高。

  2. JSON - 似乎是一个很好的跨平台标准,但我不确定它在从 memcached 读回时是否保留对象类型的特征。例如,根据这篇文章,元组在使用simplejson时被转换为列表;此外,似乎向 JSON 结构添加元素可能会破坏写入旧结构的代码

  3. Google Protocol Buffers——我对此非常感兴趣,因为它看起来非常快速和紧凑——至少比 XML 小 10 倍;它不是人类可读的,但这对这个应用程序并不重要;它似乎旨在支持在不破坏旧代码的情况下扩展结构

考虑到这个应用程序的优先级,memcached 的理想对象序列化方法是什么?

  1. 跨平台支持(Python、Java、C#、C++、Ruby、Perl)

  2. 处理嵌套数据结构

  3. 快速序列化/反序列化

  4. 最小内存占用

  5. 在不破坏旧代码的情况下灵活更改结构
0 投票
1 回答
498 浏览

language-agnostic - 像 memcached 这样的缓存系统,但我需要列出缓存中的内容

什么是支持 get、put、delete 和 list 的最佳缓存系统/守护进程(我认为 memcached 不支持列表)

一个例子

我想将 memcached 用于我的缓存解决方案,但我坚持使用我目前拥有的应用程序设计,即我缓存以下 3 个 URL,我需要始终拥有不同的缓存键。这阻止了我仅仅声明一个 URL 参数列表,我可以使用这些参数生成一个缓存项。

  • /badappdesign?iod=3
  • /badappdesign?iod=3&h=23
  • /badappdesign?iod=3&dsfj=435&dasv=342

在这种情况下 iod=3 已更改,因此我需要清除所有包含 iod=3 的键

我目前缓存到一个数据库,并且必须做一个相当昂贵的事情,比如 '%iod=3%'

有什么帮助?

0 投票
4 回答
3286 浏览

java - 对于大型 Java 数据网格技术,您会推荐什么:Terracotta、GigaSpaces、Coherence 等?

我一直在阅读 Java 平台的所谓“数据网格”解决方案,包括 Terracotta、GigaSpaces 和 Coherence。我想知道是否有人有使用这些工具的实际经验并可以分享他们的经验。我也很想知道人们使用过什么规模的部署:我们是在谈论 2-4 个节点集群,还是您使用过比这更大的东西?

我被 Terracotta 吸引是因为它对 Hibernate 和 Spring 的“直接”支持,我们大量使用了这两者。我也喜欢它如何根据配置装饰字节码并且不需要您针对“网格 API”进行编程的想法。我不知道使用显式 API 方法的工具有什么优势,但如果它们确实存在,我很想听听它们。:)

我还花时间阅读有关 memcached 的信息,但我更感兴趣的是听取有关这三个特定解决方案的反馈。如果有人同时使用这两种方法,我很想知道它们如何与 memcached 进行对比。

0 投票
4 回答
5343 浏览

memcached - 内存缓存共享

是否可以在多个项目之间共享一个 Memcache 实例。

假设我在一个项目中将一个对象推送到内存缓存中,我是否可以从不同的项目中检索相同的对象。?

0 投票
5 回答
370 浏览

mysql - MySQL 性能

最近我在缓存到内存缓存之前的查询一直在处理!在此示例中,它需要 10 秒。在这种情况下,我要做的就是获得 10 个最近的热门歌曲。

我感觉它加载了所有 125,592 行然后只返回 10,对吗?

这是另一个慢查询:

运行查询 phpMyAdmin 时,需要 1.3395 秒。虽然只是做一个SELECT * FROM hits只需要 0.0001 秒。我觉得很奇怪,返回所有匹配项所需的时间少于对它们进行排序,或者仅仅是我正在对它们进行排序?

对于那些想看我的桌子的人:

0 投票
3 回答
2505 浏览

memcached - 可视化 Memcached RAM 消耗随时间的变化

我想可视化 Memcached 守护程序的 RAM 使用情况——最好的实用程序是什么?

理想情况下,我想使用 Perl。

0 投票
2 回答
2946 浏览

.net - Memcached 1 Meg 限制,Enyim .Net 客户端

memcached 中的对象限制为 1 meg。存储比这更大的对象的最佳方法是什么?

我正在使用 Enyim .Net 客户端。

0 投票
2 回答
4890 浏览

php - PHP 错误:无法加载动态库 (memcache.so)

error_log在启动时显示以下行:

无法加载动态库 '/usr/lib/php/extensions/no-debug-non-zts-20060613/memcache.so' - (null) in Unknown on line 0

该文件存在并且正确编译。PHP 版本是 5.2.6。谷歌搜索了几个小时后,我设法找到了几个类似的问题,但没有解决方案。

0 投票
5 回答
5113 浏览

asp.net - 有人在分布式场中使用 Memcached 和 ASP.NET 吗?

我们有 22 个 HTTP 服务器,每个服务器都运行自己的 ASP.NET 缓存。他们从只读数据库中读取,该数据库仅在非高峰时间更新。

我们使用文件依赖项来使缓存无效,从而提示服务器“新建”它们的缓存……如果在高峰时段意外这样做,由于打开连接的突然泛滥,可能会导致我们的数据库集群崩溃。

有没有人以这种分布式形式将 memcached 与 ASP.NET 一起使用?在我看来,这将提供一个巨大的优势,即只需构建一个缓存(并减少 21 次访问 DB),而 memcached 将处理在每个盒子上分发它。

如果你有,你是把它和 HTTP 盒子放在同一个盒子上,还是运行一个单独的缓存层?它的扩展性如何,我们可以期望它需要强大的服务器吗?我们的工作数据集并不大(我们将它放入每个 HTTP 框的 4 gigs 内存中就可以了)。

你如何处理失效?

寻找经验和战争故事。

编辑:Win2k3、IIS6、64 位服务器...每盒 4 个演出(我相信,当我们更改为 64 位服务器时,我们可能已经将其提高到 16 个演出)。