memcached 使用 Django 监听 UDP

2024-03-07

Question: 我无法获得memcached正在听UDP, 上班 (get set delete)与姜戈。


我只让 memcached 监听UDP 11211,正如我在上一个问题 https://stackoverflow.com/questions/36055900/get-set-memcached-listening-on-udp-using-python。到目前为止我已经尝试过:

1.设置CACHES to use python-memcachedPython 绑定。 get 和 set 不适用于简单的设置,即'LOCATION': '127.0.0.1:11211',所以尝试指定udp明确地(使用这个mention http://sendapatch.se/projects/pylibmc/reference.html#pylibmc.Client作为理由):

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': 'udp:127.0.0.1:11211',
        'TIMEOUT': None,
    }
}

gave:

ValueError: Unable to parse connection string: "udp:localhost:11211"

2.设置CACHES to use pylibmcPython 绑定:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
        'LOCATION': 'udp:127.0.0.1:11211',
        'TIMEOUT': None,
    }
}

服务器运行良好 - 进一步验证:

>>> import django
>>> from django.core.cache import cache
>>> cache.set('udp_key', 12)
>>> cache.get('udp_key')
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/django/core/cache/backends/memcached.py", line 84, in get
    val = self._cache.get(key)
NotSupportedError: error 28 from memcached_get(:1:udp_key): ACTION NOT SUPPORTED

P.S.不要将其设置为 memcachedTCP vs UDP debate


类似的问题——get() set() memcached 使用 Python 监听 UDP https://stackoverflow.com/questions/36055900/get-set-memcached-listening-on-udp-using-python


据我所能探索的图书馆libmemcached http://libmemcached.org/ that pylibmc http://sendapatch.se/projects/pylibmc/使用不支持get与 UDP 的操作。

我已经追踪到缓存调用get up to libmemcached我发现下面的代码 http://bazaar.launchpad.net/~tangent-trunk/libmemcached/1.2/view/head:/libmemcached/get.cc:

    ...
    if (memcached_is_udp(ptr))
    {
      return memcached_set_error(*ptr, MEMCACHED_NOT_SUPPORTED, MEMCACHED_AT);
    }
    ...

这与你的错误一致pylibmc's get方法映射到libmemcached's memcached_get具有上述代码的文件中的方法(/libmemcached/get.cc).

我在自己的机器上安装并配置了相同的环境,并且得到了相同的结果。

尽管如此,set正如我观察到的那样,操作似乎运行得很好内存缓存在调试模式下。

我还尝试提供不同的位置((协议+IP+端口)由; in the LOCATION字段)用于缓存混合 TCP/UDP,但库也不支持混合协议并返回错误。

    CACHES = {
        'default': {
            'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
            'LOCATION': 'udp:127.0.0.1:11211;127.0.0.1:11211',
            'TIMEOUT': None,
        }
    }

所有先前的事实均已得到文件证实libmemcached http://docs.libmemcached.org/memcached_behavior.html?highlight=udp#MEMCACHED_BEHAVIOR_USE_UDP.

使用的选项django.core.cache.backends.memcached.MemcachedCache作为后端也被丢弃,因为它只使用 TCP 套接字(SOCK_STREAM) 用于连接到内存缓存.

UPDATE: python-memcached-udp https://pypi.python.org/pypi/python-memcached-udp/现在是一个 pip 包。它的维护者如果需要,可以添加更多功能 https://github.com/idanmo/python-memcached-udp/issues/3。如果您有兴趣,我们绝对可以致力于使用 UDP 为 Memcached 创建新的 Django 缓存后端。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

memcached 使用 Django 监听 UDP 的相关文章

  • 静态文件配置不正确

    我已经在 Heroku 上部署了简单的博客应用程序 它运行在Django 1 8 4 我在静态文件方面遇到了一些问题 当打开我的应用程序时 我看到Application Error页面 所以我尝试调试它并发现当我提交到 Heroku 时它无
  • Pip install 导致此错误“ cl.exe' failed with exit code 2 ”

    我已经阅读了有关此错误的所有其他问题 但令人沮丧的是 没有一个给出有效的解决方案 如果我跑pip install sentencepiece在命令行中 它给出了以下输出 src sentencepiece sentencepiece wra
  • 将打开关闭的 Google Chrome 浏览器添加到 Selenium linkedin_scraper 代码中

    我正在尝试抓取一些知名人士的 LinkedIn 个人资料 该代码获取一堆 LinkedIn 个人资料 URL 然后使用Selenium and scrape linkedin收集信息并将其作为 json 文件保存到文件夹中 我遇到的问题是
  • 如何在 Django 管理中以表格格式显示添加模型?

    我刚刚开始使用 Django 编写我的第一个应用程序 为我的家庭设计的家务图表管理器 在本教程中 它向您展示了如何添加相关对象 http docs djangoproject com en dev intro tutorial02 cust
  • 创建圆形图像 PIL Tkinter

    Currently I have a zoom feature in my application that works very well however I d like the actual zoom box to be a circ
  • Python 使用 M2Crypto 通过 S/MIME 对消息进行签名

    我现在花了几个小时 但找不到我的错误 我想要一个简单的例程来创建 S MIME 签名消息 稍后可以与 smtplib 一起使用 这是我到目前为止所拥有的 usr bin python2 7 coding utf 8 from future
  • 使用字母而不是数字进行顺序计数[重复]

    这个问题在这里已经有答案了 我需要一种方法 将字符串 递增 到 z 然后将 aa 递增到 az 然后将 ba 递增到 bz 依此类推 就像 Excel 工作表中的列一样 我将向该方法提供前一个字符串 它应该增加到下一个字母 PSEUDO C
  • 可移植的非关系数据库

    我想尝试 尝试非关系数据库 最好的解决方案是 便携式 这意味着它不需要安装 理想情况下 只需将目录复制粘贴到某个地方即可使其工作 我不介意第一次使用时是否需要编辑一些配置文件或运行配置工具 可从 python 访问 适用于 Windows
  • 在 keras 中使用自定义张量流操作

    我在张量流中有一个脚本 其中包含自定义张量流操作 我想将代码移植到 keras 但我不确定如何在 keras 代码中调用自定义操作 我想在 keras 中使用tensorflow 所以到目前为止我发现的教程描述了与我想要的相反的内容 htt
  • Python 字典 - 在 2 个字符的字符串中查找第二个字符,该字符产生最小值

    我想提交密钥的第一部分并返回该密钥的剩余部分 以最小化值 并从第一部分开始 例如 d ab 100 ac 200 ad 500 如果我要进去 a I would like to return b min d s s for s in d i
  • 管理文件字段当前 url 不正确

    在 Django 管理中 只要有 FileField 编辑页面上就会有一个 当前 框 其中包含指向当前文件的超链接 但是 此链接会附加到当前页面 url 因此会导致 404 因为不存在这样的页面 例如 http 127 0 0 1 8000
  • 如何从数据框的单元格中获取值?

    我构建了一个条件 从我的数据框中提取一行 d2 df df l ext l ext df item item df wn wn df wd 1 现在我想从特定列中获取一个值 val d2 col name 但结果 我得到一个包含一行和一列
  • python中打印字符串的长度

    有没有什么方法可以找到 即使是最好的猜测 Python中字符串的 打印 长度 例如 potaa bto 是 8 个字符len但 tty 上只打印 6 个字符宽 预期用途 s potato x1b 01 32mpotato x1b 0 0mp
  • 请求response.iter_content()获取不完整的文件(1024MB而不是1.5GB)?

    您好 我一直在使用此代码片段从网站下载文件 到目前为止 小于 1GB 的文件都很好 但我注意到 1 5GB 文件不完整 s is requests session object r s get fileUrl headers headers
  • 使用 Flask-SQLAlchemy 进行多对多多数据库连接

    我正在尝试使这个多对多联接与 Flask SQLAlchemy 和两个 MySQL 数据库一起工作 并且它非常接近 只是它为联接表使用了错误的数据库 这是基础知识 我有main db and vendor db 表格设置为main db u
  • 从 csv 中读取 pandas 数据帧,以非固定标头开始

    我有许多数据文件是由我的实验室中使用的一些相当黑客的脚本生成的 该脚本非常有趣 因为它在标头之前附加的行数因文件而异 尽管它们具有相同的格式并具有相同的标头 我正在编写一个批处理来将所有这些文件处理为数据帧 如果我不知道位置 如何让 pan
  • Jupyter Notebook 中的多处理与线程

    我试图测试这个例子here https ipywidgets readthedocs io en stable examples Widget 20Asynchronous html将其从线程更改为多处理 在 jupyter Noteboo
  • 如何动态创建 Luigi 任务

    我正在为 Luigi Tasks 构建一个包装器 但遇到了一个障碍Register http luigi readthedocs io en stable modules luigi task register html Register该
  • 在读/写二进制数据结构时访问位域

    我正在为二进制格式编写一个解析器 这种二进制格式涉及不同的表 这些表同样采用二进制格式 通常包含不同的字段大小 其中 50 100 个之间 大多数这些结构都有位域 并且在 C 语言中表示时看起来像这样 struct myHeader uns
  • Shap - 颜色条不显示在摘要图中

    显示summary plot时 不显示颜色条 shap summary plot shap values X train 我尝试过改变plot size 当绘图较高时 会出现颜色条 但它非常小 看起来不应该 shap summary plo

随机推荐

  • 登录 Groovy 脚本

    我有一个基本的 Groovy 脚本 我希望尽可能简单地创建日志 我希望消息发送到标准输出以及日志文件 并且日志文件中的每个条目都有一个时间戳 我无法使用 Log 表示法 因为它是一个脚本 而且我没有要注入的类 否则我认为这将是理想的 您可以
  • Laravel 验证独特

    我有一个带有唯一列的表 我的表单验证规则如下所示 return Validator make data nameEN gt required string nameHE gt required string address gt requi
  • spring @Transactional 注解

    我有一个抽象类和两个扩展它的子类 我在 spring 配置文件中有以下内容
  • 如何配置 xdebug stacktrace 以链接到 VS Code 中的文件并打开文件

    当 xdebug 提供堆栈跟踪时 它可以创建链接以在文本编辑器中的特定行打开文件 例如 如果安装了 subl 处理程序 以下配置将在 Sublime 中打开文件 xdebug file link format subl open url f
  • 响应式设计 - 适用于智能手机和平板电脑的标准断点/媒体查询

    当您进行响应式设计编码时 智能手机和平板电脑的标准宽度是多少 我查看了不同的网站 但似乎没有找到任何好的标准宽度模板 你们在编码响应式设计时通常对断点 媒体查询做什么 如果有人有适合平板电脑 智能手机等的不同分辨率的好模板 请分享 谢谢 有
  • 如何以编程方式确定 VB 应用程序日志的位置?

    我正在改造一个旧的 vb net 应用程序 使其符合 Vista 中的 LUA 原则 到目前为止 应用程序使用了多种日志记录机制 但核心机制涉及将日志写入到 c temp 如果该文件夹存在 我想用更标准的日志记录机制替换当前的日志记录 这是
  • Dataframe_image OsError:无法在您的计算机上找到 Chrome 可执行文件

    我正在尝试运行我的脚本数据块 using 数据框 图像库来设置我的表格样式 然后将其另存为 png 文件并收到错误OsError 无法在您的计算机上找到 Chrome 可执行文件 Per 文档 https pypi org project
  • 有没有办法在 C++ 函数中获取函数名称?

    我想实现一个函数跟踪器 它可以跟踪函数执行所花费的时间 我有以下相同的课程 class FuncTracer public FuncTracer LPCTSTR strFuncName in m strFuncName 0 T 0 if s
  • SharpSVN 和 C# 问题

    当尝试将 SharpSVN 添加到我的 C 项目时 使用 SharpSVN 相关调用进行编译会出现以下错误 FileLoadException 未处理 混合模式程序集是针对运行时版本 v2 0 50727 构建的 如果没有附加配置信息 则无
  • Jenkins 作业和项目之间的区别

    当我位于 Jenkins 主屏幕上时 我会收到一个链接Create a New Job 当我创建一个新作业并将其称为 新作业 并运行它时 我会得到结果 当我查看结果时 我会收到一个链接Back to Project 当我点击这个时我看到Pr
  • SwiftUI TextField 最大长度

    是否可以设置最大长度TextField 我正在考虑使用处理它onEditingChanged事件 但仅在用户开始 完成编辑时调用 而在用户键入时不会调用 我也阅读了文档 但还没有找到任何东西 有什么解决方法吗 TextField text
  • 如何使用 jQuery 删除周围的 DIV?

    在 Wikispaces 中 当您将目录添加到主要内容区域时 您在该主要内容区域中使用的任何标题 h1 h6 都会自动放置在目录中 并作为锚链接 单击该链接后 带您向下翻页至目录中引用的标题 默认情况下 wikispaces 用 div 包
  • 如何在 r 中创建水平堆积条形图风格的时间序列图

    我想创建一个水平 堆叠条形 类型图 其中日期沿 x 轴运行 我的样本在 y 轴上显示为条形 在下面的简单示例中 我有三个样本 a b c 每个样本包含三个值 0 1 2 我希望水平条根据沿 x 轴的每个时间步长的值进行着色 这样我最终会得到
  • 流媒体 YouTube 视频

    我正在编写一个使用流媒体播放 YouTube 视频的应用程序 第一种方法 我正在使用 GData API 获取视频的 RTSP URL 这是播放 RTSP url 的代码 VideoView mVideoView new VideoView
  • 模式中的表单输入未按要求显示

    我已经阅读了一些相关文章 但没有成功解决我自己的让表单字段按要求显示的问题 也许问题出在外面 但我想分享一下 以防它突出一个独特的案例 这是一个可以完整查看的课堂作业here https futurethang github io Trai
  • Angular 5,具有 3 种状态的 Angular Material 复选框(选中、未选中、不确定)

    我是 Angular 和 Angular Material 的新手 现在我在一些项目中担任支持人员 有一个带有过滤器和一个复选框的网格 用于检查网格中的用户是否处于活动状态 非活动状态或未选择状态 如果只有两个选项 活动 非活动 会更简单
  • 媒体查询最大宽度与视图端口大小或窗口大小有关?

    我想知道媒体查询的最大宽度是否与视图端口大小或窗口大小有关 例如 我有这个媒体查询 media screen and max width 360px 当视口大小为 360px 或窗口大小为 360px 时 此媒体查询会起作用吗 这是视口 这
  • 使用 preg_replace 替换 php 中出现的所有内容

    正则表达式绝对是我的弱点 这个让我完全难住了 我正在构建一个相当基本的搜索功能 我需要能够根据以下模式更改用户输入 Subject 22first set 22 22second set 22 drupal wordpress 期望的输出
  • Selenium 2.42.2 webdriver 与 Firefox 27.0.1 兼容吗? [复制]

    这个问题在这里已经有答案了 Selenium 2 42 2 webdriver 与 Firefox 27 0 1 兼容吗 如果不兼容 那么它与哪个 Firefox 版本兼容 我正在使用 Selenium 2 42 2 网络驱动程序 我写的测
  • memcached 使用 Django 监听 UDP

    Question 我无法获得memcached正在听UDP 上班 get set delete 与姜戈 我只让 memcached 监听UDP 11211 正如我在上一个问题 https stackoverflow com question