如何使用memcached.sock的路径连接到Python-memcached? (Python 2.7)
Memcached预先安装在我的主机上(Webfaction)。我已经启动它并验证它正在运行。我还验证了memcached.sock在我的主目录中。文档说:
“Memcached实例启动并运行后,您可以通过它访问它 套接字文件(〜/ memcached.sock)的路径与软件或 使用memcached的库。“
我试过这个:
import memcache
mc = memcache.Client(['127.0.0.1:11211'], debug=1)
mc.set("some_key", "Some value")
但我在mc.set上收到错误:
Connection refused. Marking dead.
我也试过
mc = memcache.Client('~/memcached.sock', debug=1)
然后mc.set上的错误是
Name or service not known. Marking dead.
答案 0 :(得分:2)
我通过这样做得到了它:
设置:
memcached -d -s /tmp/memcached.sock
代码:
import memcache
mc = memcache.Client(['unix:/tmp/memcached.sock'], debug=0)
mc.set('hello', 'world')
print(mc.get('hello'))
完整测试:
docker run --rm -it python:2.7 bash -c 'apt-get update && apt-get install -y memcached && memcached -u nobody -d -s /tmp/memcached.sock && pip install python-memcached && python -c "import memcache; mc = memcache.Client(['"'"'unix:/tmp/memcached.sock'"'"'], debug=0); mc.set('"'"'hello'"'"', '"'"'world'"'"'); print(mc.get('"'"'hello'"'"'))"'
...剧透,它打印出"world"