问题标签 [python-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 回答
766 浏览

django - django memcache 缓存总是未命中

我正在我的 Windows 系统上运行 memcached 服务,并且我已将我的开发设置配置为具有以下缓存设置:

我正在使用以下代码在缓存中设置和获取内容:

我在日志中看到总是有缓存未命中。我不知道 django 是否能够在缓存中设置元素。如果我尝试python manage.py shell使用简单的setand get,我可以取回数据。我尝试memcached.exe -vv从命令提示符运行命令以查看它是否接收到请求,但在这两种情况下(来自 dev server/manage.py shell)我都看到任何设置或获取控制台上打印的信息。感谢您在解决问题方面的任何帮助。

0 投票
0 回答
205 浏览

django-1.8 - Django 内存缓存过期网址

在 django 中使用 memcached 从缓存中清除 url。请求似乎已缓存。get_cache_key 不返回密钥。

设置:

提前致谢。

0 投票
0 回答
285 浏览

memcached - 使用多个节点和无限 TTL 时从 memcached 返回的旧值

我遇到了一个问题,我有一个 python-memcached 客户端连接到 ElastiCache 上的 3 个 memcached 节点。我有一些具有无限 TTL 的缓存值,并且在更新数据源时它们会被覆盖。缓存也写入缓存未命中。

问题是 memcached 有时会返回旧的缓存值。我对正在发生的事情的最佳猜测是:

  1. “foo”被写入 memcached A。
  2. memcached A 在进程 #1 中暂时不可用,因此它被标记为失败。
  3. 进程#1 使用缓存未命中的 memcached B,因此它将“bar”写入 memcached B 并返回该值。
  4. 进程#2 能够连接到 memcached A 并且不知道进程#1 将其标记为坏节点,因此它连接并返回“foo”。
  5. 任何时候进程能够连接到 memcached A “foo”都会返回,但只要它被临时标记为已连接的 memcached B 并返回“bar”。

这是失败导致选择新服务器的行: https ://github.com/linsomniac/python-memcached/blob/release-1.57/memcache.py#L413

我查看了 pymemcached 的散列客户端,我认为它会做同样的事情:暂时删除一个 memcached 主机并尝试使用另一个主机。

当主机将被永久删除时,这是有道理的,但当主机可能只是几秒钟不可用时,这对我来说没有意义。我错过了什么吗?无限 TTL 是 memcached 的反模式吗?

0 投票
3 回答
3171 浏览

django - Django / Memcached 错误:请求的会话在请求完成之前被删除

这是完整的错误:请求的会话在请求完成之前被删除。例如,用户可能已在并发请求中注销。

我在使用我的缓存的会话中使用 python-memcached。每隔几天我就会遇到这些错误之一。它由 request.session.save() 上的 UpdateError 引发。它来自 session/middleware.py 中的第 60 行。99%的时间一切正常。我在 GET 和 POST 请求的许多不同 URL 上都看到了这个错误。用户报告他们没有单击注销按钮。他们还报告说这会在登录后 5 分钟发生,因此他们的会话不会过期。我的缓存已经运行了一个多月,有 0 次驱逐。如果我用谷歌搜索这个错误,看起来以前没有人得到过它。

我认为与 memcached 的连接可能由于某种原因而关闭。它在本地主机上运行。我看到此错误的唯一一次是当我将缓存配置设置为运行 memcached 但它没有在该接口上侦听的服务器时。这将在每个请求上产生这个确切的异常。那么,memcache 是否有某种方式拒绝侦听一两秒钟或断开连接?

这是我的设置:

似乎导致此错误的可靠方法是在请求运行时在 shell 中使用会话密钥运行 cache.delete。所以有些东西正在删除缓存键。我不知道它是 Django 还是 Memcached。Memcached 确实说STAT evictions 0

0 投票
2 回答
3630 浏览

django - django 上的内存缓存不起作用

我在Celery. 受此启发 - http://ask.github.io/celery/cookbook/tasks.html#ensuring-a-task-is-only-executed-one-at-a-time我决定使用 memcache 添加锁我的任务。

这些是我所做的更改:

在此之后,我登录到我的 shell 并执行以下操作

也做了pip install python-memcached

使用Python 3.6,Django==1.10.5

我究竟做错了什么?任何帮助将不胜感激。

0 投票
1 回答
570 浏览

python - ResourceWarning:python-memcached 没有关闭套接字?

我正在使用 Python 3.6.1 运行一些单元测试并获得ResourceWarning

代码的端口和区域表示它是memcached,我使用的是python-memcached1.5.8。相关代码在这里:

我应该以Client某种方式手动关闭 memcached 实例吗?我在源代码或文档中找不到任何关于手动关闭套接字的参考,所以我认为库会自动处理这个问题......

我没有发现任何类似的问题(只有一个urllib问题),并且 GitHub 中没有任何相关问题,所以我的假设是我遗漏了一些简单的东西。

0 投票
2 回答
738 浏览

django - 在 Python 3.6 中使用 pip 和 conda 安装 python-memcached 失败

python-memcached 库未能在 Python 3.6 中安装

命令: pip install python-memcached

痕迹 :

命令: conda install -c anaconda python-memcached

痕迹:

**信息依赖命令**:conda info python-memcached

输出 :

0 投票
1 回答
1062 浏览

python - 使用 memcached.sock 路径连接到 python-memcached

如何使用 memcached.sock 的路径连接到 Python-memcached?(Python 2.7)

Memcached 预装在我的主机(Webfaction)上。我已经启动它并验证它正在运行。我还验证了 memcached.sock 在我的主目录中。文档说:

“一旦你的 Memcached 实例启动并运行,你可以通过使用 memcached 的软件或库通过套接字文件 (~/memcached.sock) 的路径访问它。”

我试过这个:

但我在 mc.set 上遇到错误:

我也试过

然后 mc.set 上的错误是

0 投票
1 回答
146 浏览

memcached - Python Memcached,连接到 Azure VM 服务器

我已经在 Azure VM 服务器 (Ubuntu) 上安装了 Memcached。我现在需要从我在其他地方运行的 Python 程序连接到它。

当它们安装在同一台服务器上时,这有效:

现在我不确定 MEMCACHE_SOCKET_PATH 使用什么。运行 Memcached 的 VM 有一个静态 IP 地址,我创建了一个到 11211 的端点(打开了一个端口)。memcached.sock 位于主目录中。

这就是我在 VM 上运行 Memcached 的方式:

0 投票
1 回答
54 浏览

python - Python:将编译对象添加到 Memcached

我尝试将一个已编译的对象添加到经常使用的 Memcached 中。编译的对象永远不会改变。

但收到以下错误消息:

无法腌制 <class 'code' >:内置函数上的属性查找代码失败

有没有解决这个问题的方法或替代方法?