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"