在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 http://pypi.python.org/simple/redis/

Reading http://github.com/andymccurdy/redis-py

Best match: redis 2.7.2

Downloading http://pypi.python.org/packages/source/r/redis/redis-2.7.2.tar.gz#md5=17ac60dcf13eb33f82cc25974ab17157

Processing redis-2.7.2.tar.gz

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 archive contents...

Adding redis 2.7.2 to easy-install.pth file

Installed /usr/local/python2.7.3/lib/python2.7/site-packages/redis-2.7.2-py2.7.egg

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 http://pypi.python.org/simple/hiredis/

Reading https://github.com/pietern/hiredis-py

Best match: hiredis 0.1.1

Downloading http://pypi.python.org/packages/source/h/hiredis/hiredis-0.1.1.tar.gz#md5=92128474f6fb027cfb8587fce724ea8e

Processing hiredis-0.1.1.tar.gz

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 archive contents...

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.7-linux-x86_64.egg

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.2-py2.7.egg

-rw-r--r-- 1 root root 332125 03-21 10:12 setuptools-0.6c11-py2.7.egg

-rw-r--r-- 1 root root 30 03-21 10:12 setuptools.pth

可以看到redis-2.7.2-py2.7.egg包已经成功安装

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

>>> value=redisClient.get('test_redis')

>>> print value

Hello Python

>>> redisClient.delete('test_redis')

True

>>> value=redisClient.get('test_redis')

>>> print value

None

>>> dir(redis)

['AuthenticationError', 'Connection', 'ConnectionError', 'ConnectionPool', 'DataError', 'InvalidResponse', 'PubSubError', 'Redis', 'RedisError', 'ResponseError', 'StrictRedis', 'UnixDomainSocketConnection', 'VERSION', 'WatchError', '__all__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__version__', '_compat', 'client', 'connection', 'exceptions', 'from_url', 'utils']

>>> 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__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_zaggregate', 'append', 'bgrewriteaof', 'bgsave', 'bitcount', 'bitop', 'blpop', 'brpop', 'brpoplpush', 'client_kill', 'client_list', 'config_get', 'config_set', 'connection_pool', 'dbsize', 'debug_object', 'decr', 'delete', 'echo', 'eval', 'evalsha', 'execute_command', 'exists', 'expire', 'expireat', 'flushall', 'flushdb', 'from_url', 'get', 'getbit', 'getrange', 'getset', 'hdel', 'hexists', 'hget', 'hgetall', 'hincrby', 'hincrbyfloat', 'hkeys', 'hlen', 'hmget', 'hmset', 'hset', 'hsetnx', 'hvals', 'incr', 'incrbyfloat', 'info', 'keys', 'lastsave', 'lindex', 'linsert', 'llen', 'lock', 'lpop', 'lpush', 'lpushx', 'lrange', 'lrem', 'lset', 'ltrim', 'mget', 'move', 'mset', 'msetnx', 'object', 'parse_response', 'persist', 'pexpire', 'pexpireat', 'ping', 'pipeline', 'pttl', 'publish', 'pubsub', 'randomkey', 'register_script', 'rename', 'renamenx', 'response_callbacks', 'rpop', 'rpoplpush', 'rpush', 'rpushx', 'sadd', 'save', 'scard', 'script_exists', 'script_flush', 'script_kill', 'script_load', 'sdiff', 'sdiffstore', 'set', 'set_response_callback', 'setbit', 'setex', 'setnx', 'setrange', 'shutdown', 'sinter', 'sinterstore', 'sismember', 'slaveof', 'smembers', 'smove', 'sort', 'spop', 'srandmember', 'srem', 'strlen', 'substr', 'sunion', 'sunionstore', 'time', 'transaction', 'ttl', 'type', 'unwatch', 'watch', 'zadd', 'zcard', 'zcount', 'zincrby', 'zinterstore', 'zrange', 'zrangebyscore', 'zrank', 'zrem', 'zremrangebyrank', 'zremrangebyscore', 'zrevrange', 'zrevrangebyscore', 'zrevrank', 'zscore', 'zunionstore']

>>>

4.测试实例:

(1).把文本数据导入到redis

--导入的数据格式

[root@njdyw ~]#more data.txt

wolys # wolysopen111 # wolys@21cn.com

coralshanshan # 601601601 # zss1984@126.com

pengfeihuchao # woaidami # 294522652@qq.com

simulategirl # @#$9608125 # simulateboy@163.com

daisypp # 12345678 # zhoushigang_123@163.com

sirenxing424 # tfiloveyou # sirenxing424@126.com

raininglxy # 1901061139 # lixinyu23@qq.com

leochenlei # leichenlei # chenlei1201@gmail.com

z370433835 # lkp145566 # 370433835@qq.com

创建命令脚本

[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=re.compile(r'(.*)s#s(.*)s#s(.*)');

pipe = r.pipeline()

f = open("data.txt")

matchs=p.findall(f.read())

for user in matchs:

key='users_%s' %user[0].strip()

pipe.hset(key,'pwd',user[1].strip()).hset(key,'email',user[2].strip())

pipe.execute()

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.com"

redis 127.0.0.1:6379> hget users_llx6888 email

"linlixian200606@126.com"

好了,测试连接成功,如果你没有测试成功请认真看一下操作步骤

python如何连redis_Python连接Redis的基本配置方法相关推荐

  1. python如何连redis_python连接redis的方法

    python连接redis的方法 发布时间:2020-08-14 11:14:18

  2. django oracle数据库配置,django连接oracle时setting 配置方法

    下一步是将新创建的应用程序与项目相关联.为此,您需要编辑 myproj 文件夹中的 settings.py 文件,将字符串"myproj.myapp"追加到 INSTALLED_A ...

  3. ecmall php传变量,PHP_ECMall支持SSL连接邮件服务器的配置方法详解,首先,主要是ecmall使用的phpmail - phpStudy...

    ECMall支持SSL连接邮件服务器的配置方法详解 首先,主要是ecmall使用的phpmailer版本太低,不支持加密连接. 然后,得对相应代码做一定调整. 1. 覆盖phpmailer 请从附件进 ...

  4. php连接mssql数据库的几种方法,php 连接mssql数据库与配置方法_PHP教程

    php 连接mssql数据库与配置方法 下面要来告诉各位朋友php连接mssql数据库并且与php mssql配置方法哦,这样如果你是初学者这文章可以让你从配置mssql 到让php连接mssql数据 ...

  5. sql数据库配置php,php 连接mssql数据库与配置方法

    php 连接mssql数据库与配置方法 下面要来告诉各位朋友php连接mssql数据库并且与php mssql配置方法哦,这样如果你是初学者这文章可以让你从配置mssql 到让php连接mssql数据 ...

  6. python连接redis_Python连接Redis

    Redis: 是一个高性能的key-value数据库. 简单来说就是:当你使用关系型数据库.文件或者其他介质存东西,性能不好反应慢,这个时候就要拿个东西做缓存.同类产品有好几种,目前比较流行,在我司进 ...

  7. python anaconda安装redis_python与redis的初次碰撞——把玩redis数据库的一点心得

    Redis是最近几年NoSQL(非关系型数据库)中最异军突起的一位了,在很多大小公司的业务中起了很大的作用.Redis是键值形式的存储系统,跟mongodb的存储方式有些类似(感觉NoSQL似乎都有这 ...

  8. python如何连redis_python操作redis

    连接 Redis importredis 连接方式:redis提供了2个方法 1:StrictRedis:实现大部分官方的命令 2:Redis:是StrictRedis的子类,用于向后兼容旧版的red ...

  9. odbc mysql 配置文件_ODBC连接主流数据库的配置方法

    准备工作 安装ODBC基本组件: # yum install -y unixODBC unixODBC-devel 安装完成后可用odbcinst -j命令查看安装配置文件所在的位置,有两个比较常用的 ...

最新文章

  1. R语言使用aov函数进行双因素方差分析(Two-way factorial ANOVA)、使用HH包中的interaction2wt函数为任何阶的双因素方差分析可视化主效应和交互作用图、箱图显示主效应
  2. Codeforces Beta Round #9 (Div. 2 Only) C. Hexadecimal's Numbers dfs
  3. 为什么每个理发店门口都有彩色的柱子?你不知道吧
  4. linux属性表示的文件,Linux基础入门:文件和目录属性的含义
  5. Android高性能ORM数据库DBFlow入门
  6. java泛型的英文_Java泛型一:泛型的定义及规则
  7. TCP/IP协议详解-卷一(心得一)
  8. mysql数据导出insert_mysql 数据导出
  9. 程序员平时如何学习提高技术
  10. 综合评价之熵值法+TOPSIS
  11. 推荐一款全能的跨平台文档格式转换工具 Pandoc
  12. Keras : 训练minst数据集并加载模型对本地手写图片进行预测
  13. Redis 配置开机自动启动
  14. cURL到Python/Aardio/易语言(将curl格式文本解析成Python、易语言、AardioGolang、VBA、PowerQuery、Json)20210811
  15. 硬盘初始化分区选择GPT还是MBR?
  16. python:实现Triplets with zero sum零和三元组(附完整源码)
  17. FC6下的ftp服务和telnet服务安装
  18. 主机/虚拟机/开发板三者互通
  19. Oracle通过SPOOL导出数据Excel、CSV、TXT格式
  20. layer tips 宽和高自定义

热门文章

  1. 怎样上android官方下载,【图文教程】如何安装 iOS/Android(安卓)触动精灵?
  2. 矩阵树定理--luoguP4208 [JSOI2008]最小生成树计数
  3. 14.spring aop之aspect切入点语法详解
  4. oracle导出dmp文件
  5. ServerSocket通过构造方法绑定端口
  6. vue ajax传输数组,ajax请求回数组数据,Vue页面数组没同步问题
  7. LeetCode记录总结
  8. 解决home end pgup pgdn没有独立,需要键盘映射的问题
  9. 蓝牙芯片设计看上海,终端产品找深圳
  10. Python 实现 双人五子棋对局