Heim > Backend-Entwicklung > Python-Tutorial > Python-Verbindung Redis-Verbindungskonfiguration

Python-Verbindung Redis-Verbindungskonfiguration

高洛峰
Freigeben: 2016-10-18 11:47:44
Original
1312 Leute haben es durchsucht

Systemumgebung:

Betriebssystem: Oracle Linux Enterprise 5.6

Redis: redis-2.6.8

Python: Python-2.7.3

Python-Paketversion von Redis: redis-2.7.2.tar


Voraussetzungen:

1. Stellen Sie sicher, dass Redis erfolgreich installiert und korrekt konfiguriert wurde zur Dokumentation

2. Stellen Sie sicher, dass die Python-Umgebung erfolgreich konfiguriert wurde. Weitere Informationen finden Sie im Dokument

Konfigurieren Sie Python für die Verbindung mit Redis:

1 Paket von Redis:

Verwenden Sie die Easy-Install-Installation. Informationen zur Konfiguration von Easy-Install finden Sie in der obigen Python-Umgebungskonstruktion.

[root@njdyw bin]# easy_install2.7.3 redis

Suche nach Redis

Lesen Sie http://pypi.python.org/simple/redis/

Lesen Sie http://github.com/andymccurdy/redis-py

Beste Übereinstimmung: Redis 2.7.2

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

Redis-2.7.2.tar.gz wird verarbeitet

Redis-2.7.2/setup.py wird ausgeführt -q bdist_egg --dist-dir /tmp/easy_install-8FAlft/redis-2.7.2/egg-dist-tmp-JzQViJ

zip_safe-Flag nicht gesetzt; Archivinhalte werden analysiert...

Redis 2.7.2 zur Datei „easy-install.pth“ hinzufügen


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

Abhängigkeiten für Redis verarbeiten

Abhängigkeiten für Redis verarbeiten


--Parser-Paket installieren (Optional)

Beschreibung: Der Parser kann steuern, wie der Inhalt der Redis-Antwort analysiert wird. redis-py enthält zwei Parser-Klassen, PythonParser und HiredisParser. Standardmäßig verwendet redis-py HiredisParser, wenn das Hiredis-Modul installiert ist, andernfalls verwendet es PythonParser.

HiredisParser ist in C geschrieben und wird vom Redis-Kernteam verwaltet. Seine Leistung ist mehr als zehnmal höher als die von PythonParser, daher wird die Verwendung empfohlen. Installationsmethode, verwenden Sie easy_install:

[root@njdyw ~]# easy_install2.7.3 Hiredis

Suche nach Hiredis

Lesen Sie http://pypi.python.org/simple /hiredis/

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

Beste Übereinstimmung: Hiredis 0.1.1

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

Hiredis-0.1.1.tar.gz wird verarbeitet

Hiredis-0.1 wird ausgeführt .1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ZanSCB/hiredis-0.1.1/egg-dist-tmp-XCZBQ0

zip_safe-Flag nicht gesetzt; Analyse des Archivinhalts. .

Hiredis 0.1.1 zur Datei „easy-install.pth“ hinzufügen


Installiert /usr/local/python2.7.3/lib/python2.7/ site-packages/hiredis-0.1.1-py2.7-linux-x86_64.egg

Verarbeitungsabhängigkeiten für Hiredis

Abgeschlossene Verarbeitungsabhängigkeiten für Hiredis


2. Überprüfen Sie, ob die Installation erfolgreich war

--Das von Easy-Install installierte Erweiterungspaket befindet sich standardmäßig im Site-Packages-Verzeichnis von Python

[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

Gesamt 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 Wurzel Wurzel 60401 03-21 10:45redis-2.7.2-py2.7.egg

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

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


Sie können sehen, dass das Paket redis-2.7.2-py2.7.egg erfolgreich installiert wurde


3 Testen Sie die Verbindung

[root@njdyw site -packages]#python2.7.3

Python 2.7.3 (Standard, 21. März 2013, 10:06:48)

[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] unter Linux2

Geben Sie „Hilfe“, „Copyright“, „Credits“ oder „Lizenz“ ein, um weitere Informationen zu erhalten.

>>>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

Hallo Python

>>> redisClient. delete('test_redis')

True

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

>>> Druckwert

Keine



>>> 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 # t Ich liebe dich # sirenxing424@126.com

raininglxy # 1901061139 # lixinyu23@qq.com

leochenlei # leichenlei # chenlei1201@gmail.com

z370433835 # lkp145566 # 3 70433835@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())

für Benutzer in Übereinstimmungen:

  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> Schlüssel *

1) „users_xiaochuan2018“

2) „users_coralshan“

3) „users_xiazai200901“

4) „users_daisypp“

5) „users_boiny“

6) „users_raininglxy“

7) „users_fennal“

8) „users_abc654468252“

9) „users_babylovebooks“

10) „ user_xl200811 "

11)" user_baby19881018 "

12)" user_darksoul0929 "

13)" user_penengcfwxh "

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 E-Mail

"linlixian200606@126.com"


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage