Python连接Redis的基本配置⽅法
在Linux系统下Python连接Redis的基本配置⽅法具体操作步骤
系统环境:
OS:Oracle Linux Enterprise 5.6
Redis:redis-2.6.8
Python:Python-2.7.3
redis的python包版本:redis-2.7.2.tar
前提条件:
1.确保Redis已成功安装并且正确配置,参考⽂档
主从配置⽂档:
2.确保Python环境已成功配置,参考⽂档
配置python连接redis:
1.安装Redis的Python包:
使⽤easy-install安装,关于easy-install的配置,参考以上Python环境的搭建。
[root@njdyw bin]# easy_install2.7.3 redis
Searching for redis
Reading /simple/redis/python安装教程非常详细
Reading github/andymccurdy/redis-py
Best match: redis 2.7.2
Downloading /packages/source/r/redis/redis-2.7.#md5=17ac60dcf13eb33f82cc25974ab17157
Processing redis-2.7.
Running redis-2.7.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-8FAlft/redis-2.7.2/egg-dist-tmp-JzQViJ
zip_safe flag not set; analyzing
Adding redis 2.7.2 to easy-install.pth file
Installed /usr/local/python2.7.3/lib/python2.7/site-packages/redis-2.7.
Processing dependencies for redis
Finished processing dependencies for redis
安装Parser包(可选)
说明:Parser可以控制如何解析redis响应的内容。redis-py包含两个Parser类,PythonParser和HiredisParser。默认,如果已经安装了hiredis模块,redis-py会使⽤HiredisParser,否则会使⽤
PythonParser。
HiredisParser是C编写的,由redis核⼼团队维护,性能要⽐PythonParser提⾼10倍以上,所以推荐使⽤。
安装⽅法,使⽤easy_install:
[root@njdyw ~]# easy_install2.7.3 hiredis
Searching for hiredis
Reading /simple/hiredis/
Reading github/pietern/hiredis-py
Best match: hiredis 0.1.1
Downloading /packages/source/h/hiredis/hiredis-0.1.#md5=92128474f6fb027cfb8587fce724ea8e
Processing hiredis-0.1.
Running hiredis-0.1.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ZanSCB/hiredis-0.1.1/egg-dist-tmp-XCZBQ0
zip_safe flag not set; analyzing
Adding hiredis 0.1.1 to easy-install.pth file
Installed /usr/local/python2.7.3/lib/python2.7/site-packages/hiredis-0.1.1-py2.
Processing dependencies for hiredis
Finished processing dependencies for hiredis
2.检查安装是否成功
--easy-install安装的扩展包默认在python的site-packages⽬录下
[root@njdyw ~]#whereis python2.7.3
python2.7: /bin/python2.7.3 /usr/local/python2.7.3
[root@njdyw ~]#cd /usr/local/python2.7.3/lib/python2.7/site-packages/
[root@njdyw site-packages]# ll
总计 408
-
rw-r--r-- 1 root root 239 03-21 10:45 easy-install.pth
-rw-r--r-- 1 root root 119 03-21 10:07 README
-rw-r--r-- 1 root root 60401 03-21 10:45redis-2.7.
-rw-r--r-- 1 root root 332125 03-21 10:12 setuptools-0.
-rw-r--r-- 1 root root 30 03-21 10:12 setuptools.pth
可以看到redis-2.7.包已经成功安装
3.测试连接
[root@njdyw site-packages]#python2.7.3
Python 2.7.3 (default, Mar 21 2013, 10:06:48)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>import redis
>>>redisClient=redis.StrictRedis(host='127.0.0.1',port=6379,db=0)
>>> redisClient.set('test_redis','Hello Python')
True
>>> ('test_redis')
>>> print value
Hello Python
>>> redisClient.delete('test_redis')
True
>>> ('test_redis')
>>> print value
None
>>> dir(redis)
['AuthenticationError', 'Connection', 'ConnectionError', 'ConnectionPool', 'DataError', 'InvalidResponse', 'PubSubError', 'Redis', 'RedisError', 'ResponseError', 'StrictRedis', 'UnixDomainSocketConnection', 'VERSION', 'WatchError', '__all__', '__builtins__', '__doc__', '_ >>> redisClient=redis.StrictRedis(host='127.0.0.1',port=6379,db=0)
>>> dir(redisClient)
['RESPONSE_CALLBACKS', '__class__', '__contains__', '__delattr__', '__delitem__', '__dict__', '__doc__', '__format__', '__getattribute__', '__getitem__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__seti >>>
4.测试实例:
(1).把⽂本数据导⼊到redis
--导⼊的数据格式
[root@njdyw ~]#
wolys # wolysopen111 # wolys@21cn
coralshanshan # 601601601 # zss1984@126
pengfeihuchao # woaidami # 294522652@qq
simulategirl # @#$9608125 # simulateboy@163
daisypp # 12345678 # zhoushigang_123@163
sirenxing424 # tfiloveyou # sirenxing424@126
raininglxy # 1901061139 # lixinyu23@qq
leochenlei # leichenlei # chenlei1201@gmail
z370433835 # lkp145566 # 370433835@qq
创建命令脚本
[root@njdyw ~]#cat imp_red.py
import redis
import re
pool = redis.ConnectionPool(host='127.0.0.1', port=6379)
r = redis.Redis(connection_pool=pool)
pipe = r.pipeline()
p=repile(r'(.*)\s#\s(.*)\s#\s(.*)');
pipe = r.pipeline()
f = open("")
matchs=p.ad())
for user in matchs:
key='users_%s' %user[0].strip()
pipe.hset(key,'pwd',user[1].strip()).hset(key,'email',user[2].strip())
f.close()
注意:要严格控制python脚本中的空格
--执⾏脚本
[root@njdyw ~]# python2.7.3 imp_red.py
查看导⼊数据
[root@njdyw ~]#redis-cli
redis 127.0.0.1:6379> keys *
1) "users_xiaochuan2018"
2) "users_coralshanshan"
3) "users_xiazai200901"
4) "users_daisypp"
5) "users_boiny"
6) "users_raininglxy"
7) "users_fennal"
8) "users_abc654468252"
9) "users_babylovebooks"
10) "users_xl200811"
11) "users_baby19881018"
12) "users_darksoul0929"
13) "users_pengcfwxh"
14) "users_alex126126"
15) "users_jiongjiongmao"
16) "users_sirenxing424"
17) "users_mengjie007"
18) "users_cxx0409"
19) "users_candly8509"
20) "users_licaijun007"
21) "users_ai3Min2"
22) "users_bokil"
23) "users_z370433835"
24) "users_yiling1007"
25) "users_simulategirl"
26) "users_fxh852"
27) "users_baoautumn"
28) "users_huangdaqiao"
29) "users_q1718334567"
30) "users_xldq_l"
31) "users_beibeilong012"
32) "users_hudaoyin"
33) "users_yoyomika"
34) "users_jacksbalu"
35) "users_wolys"
36) "users_kangte1"
37) "users_demonhaodh"
38) "users_ysdz8"
39) "users_leochenlei"
40) "users_llx6888"
41) "users_pengfeihuchao"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379>hget users_pengfeihuchao email
"294522652@qq"
redis 127.0.0.1:6379> hget users_llx6888 email
"linlixian200606@126"
好了,测试连接成功,如果你没有测试成功请认真看⼀下操作步骤
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论