介绍
介绍
今天我们来学习使用 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方法实现