首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django-redis配置为使用套接字而不是TCP

Django-redis配置为使用套接字而不是TCP
EN

Stack Overflow用户
提问于 2013-07-09 23:24:27
回答 1查看 1.9K关注 0票数 1

我正在尝试使用django-redis using Unix sockets rather than a TCP connection

这是settings.py配置:

代码语言:javascript
复制
CACHES = {
    'default': {
        'BACKEND': 'redis_cache.cache.RedisCache',
        'LOCATION': 'unix:/tmp/redis.sock:1',
        'OPTIONS': {
            'PASSWORD': '',
            'PICKLE_VERSION': -1,   # default
            'PARSER_CLASS': 'redis.connection.HiredisParser',
            'CLIENT_CLASS': 'redis_cache.client.DefaultClient',
        },
    },
}

这是位于/etc/redis/6379.conf的redis配置文件的摘录

代码语言:javascript
复制
# Specify the path for the unix socket that will be used to listen for
# incoming connections. There is no default, so Redis will not listen
# on a unix socket when not specified.
#
unixsocket /tmp/redis.sock
unixsocketperm 755

我仍然收到一个ConnectionInterrumped异常,它代表连接过程中的错误。关于这个配置的问题有什么想法吗?

附注:我的Django版本是1.5.1,django-redis是3.3,hiredis是0.0.1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-09 23:32:18

编辑:显然我读错了缓存提供程序,下面的答案是django-redis-cache的解决方案,而不是django-redis。不过,我将保留答案,因为更改缓存提供程序并使用此配置似乎已经解决了问题。

您应该不需要unix:前缀,并且后端设置看起来很奇怪;

代码语言:javascript
复制
'default': {
    'BACKEND': 'redis_cache.RedisCache',
    'LOCATION': '/tmp/redis.sock',
    'OPTIONS': { ...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17552123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档