介绍
介绍
今天我们来学习使用 Python 操作 Redis 数据库的方法
教程
安装redis模块
通过github安装redis模块
wget https://github.com/andymccurdy/redis-py/archive/master.zip -O redis-py-3.5.3.zip unzip redis-py-3.5.3.zip cd redis-py-master/ python3 setup.py install cd ../
字符串set操作
编写测试脚本 redisTest.py,内容如下
#!/usr/bin/python
import redis
r = redis.Redis(host='localhost',port=6379)
r.set('str','haha')
str = r.get('str')
print (str)执行结果如下
[root@tongfunet]# python3 redisTest.py b'haha'
列表list操作
编写脚本 redisListWrite.py,内容如下
#!/usr/bin/python
import sys
import redis
r = redis.Redis(host='localhost',port=6379)
r.lpush('list',sys.argv[1])编写脚本 redisListRead.py,内容如下
#!/usr/bin/python
import redis
r = redis.Redis(host='localhost',port=6379)
while (1):
msg = r.brpop('list', timeout=300)
line = "the msg is {}".format(msg)
print (line)启动 redisListRead.py
python3 redisListRead.py
通过 redisListWrite.py 写入数据
python3 redisListWrite.py hello python3 redisListWrite.py nihao
查看测试结果
the msg is (b'list', b'hello') the msg is (b'list', b'nihao')
集合操作
插入项目
通过sadd()方法完成
r.sadd("hosts","192.168.1.111:8080")
r.sadd("hosts","192.168.1.112:8080")
r.sadd("hosts","192.168.1.113:8080")获取项目数量
通过scard()方法实现
r.scard("hosts")比较差异
获取两个集合的差集,通过sdiff()方法实现
r.sadd("hosts","192.168.1.111:8080","192.168.1.112:8080","192.168.1.113:8080")
r.sadd("hosts2","192.168.1.112:8080","192.168.1.115:8080","192.168.1.118:8080")
print (r.sdiff("hosts","hosts2"))比较并存储差异
获取两个集合的差集存储到一个新的集合里,通过sdiffstore方法实现