Redis的“不允许操作”

时间:2013-04-08 14:54:09

标签: python macos redis

我正在开发已经安装了redis的mac上。默认情况下,它没有redis.conf,因此在我$ redis-server

时会使用默认设置
# Warning: no config file specified, using the default config. In order to specify a config file use 'redis-server /path/to/redis.conf'

我正在尝试使用redis-py并拥有以下

import redis
r = redis.Redis('localhost')
r.set('foo','bar')
r.get('foo')

但出现以下错误

redis.exceptions.ResponseError: operation not permitted

我也尝试在终端$ redis-cli ping,但后来我收到以下错误

(error) ERR operation not permitted

我想因为没有redis.conf默认设置没有密码吗?无论如何,我还尝试创建redis.conf

$ echo "requirepass foobared" >> redis.conf
$ redis-server redis.conf

然后在另一个窗口

$ redis-cli
$ redis 127.0.0.1:6379> AUTH foobared
(error) ERR invalid password

还将python脚本的第二行修改为

r = redis.StrictRedis(host='localhost', port=6379, db=0, password='foobared')

然后我得到了

redis.exceptions.ResponseError: invalid password

我能做错什么?感谢

1 个答案:

答案 0 :(得分:0)

没有任何redis.conf文件,Redis使用默认的内置配置。因此,在服务器目录中创建默认数据库文件(dump.rdb)和仅附加文件。也许运行Redis的用户对此目录没有写入权限。

所以你要么给他许可,要么用配置文件定义另一个工作目录。

你会找到redis 2.6 here的默认配置文件 您必须在文件中修改此行:

# The working directory.
dir ./