Liunx 上面使用Python连接Redis遇到的一些问题

来源:互联网 发布:java jar 运行参数 编辑:程序博客网 时间:2024/05/16 08:27

首先你的服务器上面应该装好了Python和Redis,接下来我们需要安装redis-py模块来让Python和Redis进行连接

下载redis-py模块

wget https://github.com/andymccurdy/redis-py/archive/master.zip

然后解压 master.zip 文件

unzip master.zip文件

解压完以后 在进入到解压目录 cd redis-py-master目录 在目录运行 python setup.py install 安装模块就好了


然后进入python下面:

由于我的reids 需要密码才能进行登陆,所以需要进行密码验证

import redis


r=redis.StrictRedis(host='127.0.0.1',port=6379,db=0,password='test')


我使用的是这种方式连接Reids的,如果有密码的话需要加上password='test',如果没有密码的话可以不加

在这里我遇到的是这一种问题,因为是第一次使用Python,报错如下:

IndentationError: unexpected indent

我百度了一下是我 因为python是一种对缩进非常敏感的语言,最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的。

我的是在notepad++中写好以后直接复制到Xshell里面的,里面的缩进没有使用对,去掉缩进就可以用了

然后我使用Python连接上Redis后发现我使用set插入的数据取出的时候前面都有一个b

如下所示:

r.set('name','Hello Python')


value=r.get('name')


value


输出结果为:b'Hello Python'

前面多了一个b,我试了一下其他的输出结果前面都有一个b

应该是编码错误

查了一下才知道向redis里面插入数据再读出来所有键与值都是byte类型,所以我们要使用这些值需要转化编码我们使用python连接redis的时候把decode_responses参数设置为True就可以了,b就不显示了。

r=redis.StrictRedis(host='127.0.0.1',port=6379,db=0,password='zpf',decode_responses=True)

参考文章:

http://blog.csdn.net/wuxiaobingandbob/article/details/10379157

http://www.jianshu.com/p/495f401a46e8

0 0