问题标签 [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.
django - django memcache 缓存总是未命中
我正在我的 Windows 系统上运行 memcached 服务,并且我已将我的开发设置配置为具有以下缓存设置:
我正在使用以下代码在缓存中设置和获取内容:
我在日志中看到总是有缓存未命中。我不知道 django 是否能够在缓存中设置元素。如果我尝试python manage.py shell
使用简单的set
and get
,我可以取回数据。我尝试memcached.exe -vv
从命令提示符运行命令以查看它是否接收到请求,但在这两种情况下(来自 dev server/manage.py shell)我都看到任何设置或获取控制台上打印的信息。感谢您在解决问题方面的任何帮助。
django-1.8 - Django 内存缓存过期网址
在 django 中使用 memcached 从缓存中清除 url。请求似乎已缓存。get_cache_key 不返回密钥。
设置:
提前致谢。
memcached - 使用多个节点和无限 TTL 时从 memcached 返回的旧值
我遇到了一个问题,我有一个 python-memcached 客户端连接到 ElastiCache 上的 3 个 memcached 节点。我有一些具有无限 TTL 的缓存值,并且在更新数据源时它们会被覆盖。缓存也写入缓存未命中。
问题是 memcached 有时会返回旧的缓存值。我对正在发生的事情的最佳猜测是:
- “foo”被写入 memcached A。
- memcached A 在进程 #1 中暂时不可用,因此它被标记为失败。
- 进程#1 使用缓存未命中的 memcached B,因此它将“bar”写入 memcached B 并返回该值。
- 进程#2 能够连接到 memcached A 并且不知道进程#1 将其标记为坏节点,因此它连接并返回“foo”。
- 任何时候进程能够连接到 memcached A “foo”都会返回,但只要它被临时标记为已连接的 memcached B 并返回“bar”。
这是失败导致选择新服务器的行: https ://github.com/linsomniac/python-memcached/blob/release-1.57/memcache.py#L413
我查看了 pymemcached 的散列客户端,我认为它会做同样的事情:暂时删除一个 memcached 主机并尝试使用另一个主机。
当主机将被永久删除时,这是有道理的,但当主机可能只是几秒钟不可用时,这对我来说没有意义。我错过了什么吗?无限 TTL 是 memcached 的反模式吗?
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
。
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
我究竟做错了什么?任何帮助将不胜感激。
python - ResourceWarning:python-memcached 没有关闭套接字?
我正在使用 Python 3.6.1 运行一些单元测试并获得ResourceWarning
代码的端口和区域表示它是memcached
,我使用的是python-memcached
1.5.8。相关代码在这里:
我应该以Client
某种方式手动关闭 memcached 实例吗?我在源代码或文档中找不到任何关于手动关闭套接字的参考,所以我认为库会自动处理这个问题......
我没有发现任何类似的问题(只有一个urllib问题),并且 GitHub 中没有任何相关问题,所以我的假设是我遗漏了一些简单的东西。
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
输出 :
python - 使用 memcached.sock 路径连接到 python-memcached
如何使用 memcached.sock 的路径连接到 Python-memcached?(Python 2.7)
Memcached 预装在我的主机(Webfaction)上。我已经启动它并验证它正在运行。我还验证了 memcached.sock 在我的主目录中。文档说:
“一旦你的 Memcached 实例启动并运行,你可以通过使用 memcached 的软件或库通过套接字文件 (~/memcached.sock) 的路径访问它。”
我试过这个:
但我在 mc.set 上遇到错误:
我也试过
然后 mc.set 上的错误是
memcached - Python Memcached,连接到 Azure VM 服务器
我已经在 Azure VM 服务器 (Ubuntu) 上安装了 Memcached。我现在需要从我在其他地方运行的 Python 程序连接到它。
当它们安装在同一台服务器上时,这有效:
现在我不确定 MEMCACHE_SOCKET_PATH 使用什么。运行 Memcached 的 VM 有一个静态 IP 地址,我创建了一个到 11211 的端点(打开了一个端口)。memcached.sock 位于主目录中。
这就是我在 VM 上运行 Memcached 的方式:
python - Python:将编译对象添加到 Memcached
我尝试将一个已编译的对象添加到经常使用的 Memcached 中。编译的对象永远不会改变。
但收到以下错误消息:
无法腌制 <class 'code' >:内置函数上的属性查找代码失败
有没有解决这个问题的方法或替代方法?