标签: pylibmc

无法在 Windows 7 64 位上为 python 安装 pylibmc

我有一台 Windows 7 64 位笔记本电脑并安装了 memcached,但在通过 pip 安装 pylibmc 时出现错误:

pip install pylibmc
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

PS C:\Users\ABC> pip install pylibmc
Collecting pylibmc
  Using cached pylibmc-1.5.0.tar.gz
Installing collected packages: pylibmc
  Running setup.py install for pylibmc
    Complete output from command C:\Python27\python.exe -c "import setuptools, tokenize;__file__='c:\\users\\ABC\\a
ppdata\\local\\temp\\pip-build-ecqocv\\pylibmc\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().
replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\ABC\appdata\local\temp\pip-gcnwr7-record\insta
ll-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-2.7
    creating build\lib.win32-2.7\pylibmc
    copying src\pylibmc\client.py -> build\lib.win32-2.7\pylibmc
    copying src\pylibmc\consts.py -> build\lib.win32-2.7\pylibmc
    copying src\pylibmc\pools.py -> build\lib.win32-2.7\pylibmc
    copying …
Run Code Online (Sandbox Code Playgroud)

memcached visual-studio python-2.7 pylibmc

8
推荐指数
0
解决办法
1410
查看次数

无法通过pip安装pylibmc

我正在尝试在mac上安装pylibmc.
mac env是osx el capitan 10.11.2.

我试过了pip install pylibmc.但是我收到了以下错误.

我已在下面安装了列表.

  • brew install libmemcached
  • 命令行工具
  • export CFLAGS = -Qunused-arguments @shell
  • export CPPFLAGS = -Qunused-arguments @shell

我怎样才能安装pylibmc?

Installing collected packages: pylibmc
Running setup.py install for pylibmc
Complete output from command /Users/username/.virtualenvs/django-proj/bin/python2.7 -c "import setuptools, tokenize;__file__='/private/tmp/pip-build-goDKgm/pylibmc/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-wxC5F1-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/username/.virtualenvs/django-proj/bin/../include/site/python2.7/pylibmc:
running install
running build
running build_py
creating build
creating build/lib.macosx-10.11-x86_64-2.7
creating build/lib.macosx-10.11-x86_64-2.7/pylibmc
copying pylibmc/__init__.py -> build/lib.macosx-10.11-x86_64-2.7/pylibmc
copying pylibmc/__main__.py -> build/lib.macosx-10.11-x86_64-2.7/pylibmc
copying pylibmc/client.py -> …
Run Code Online (Sandbox Code Playgroud)

python macos pip pylibmc

4
推荐指数
2
解决办法
4011
查看次数

通过 Memcache 的 Django 会话:无法手动找到会话密钥

我最近使用pylibmc从数据库支持的会话迁移到通过 memcached 存储的会话。

这是我的 settings.py 中的缓存、SESSION_CACHE_ALIAS 和 SESSION_ENGINE

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
        'LOCATION': ['127.0.0.1:11211'],
    }
}


SESSION_CACHE_ALIAS = 'default'


SESSION_ENGINE = "django.contrib.sessions.backends.cache"
Run Code Online (Sandbox Code Playgroud)

在幕后一切正常,我可以看到它正在使用新的缓存系统。从 pylibmc 运行 get_stats() 方法向我显示缓存中当前项目的数量,我可以看到它增加了 1。

问题是我无法使用 pylibmc 手动获取会话。

在检查 views.py 中的请求会话数据时:

def my_view(request):
    if request.user.is_authenticated():

        print request.session.session_key
        # the above prints something like this: "1ay2kcv7axb3nu5fwnwoyf85wkwsttz9"

        print request.session.cache_key
        # the above prints something like this: "django.contrib.sessions.cache1ay2kcv7axb3nu5fwnwoyf85wkwsttz9"

        return HttpResponse(status=200)
    else:
        return HttpResponse(status=401)
Run Code Online (Sandbox Code Playgroud)

我注意到在打印 cache_key 时,它使用默认的 KEY_PREFIX 打印,而对于 session_key 则没有。看看代码中的注释,看看我的意思。

所以我想,“好吧,这些关键名称之一应该有效。让我尝试手动抓取会话数据,仅用于教育目的”:

import pylibmc

mc = …
Run Code Online (Sandbox Code Playgroud)

django session memcached caching pylibmc

2
推荐指数
1
解决办法
996
查看次数