Redis的几个常用操作
”’
Redis通常被称为数据结构服务器
特点:支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用
使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。
默认,每个Redis实例都会维护一个自己的连接池。
可以直接建立一个连接池,然后作为参数 Redis,这样就可以实现多个Redis实例共享一个连接池
”’
import redis
import time
start = time.time()
pool = redis.ConnectionPool(host='127.0.0.1', port=6379)
db = redis.Redis(connection_pool=pool)
删除整个集合
db.delete('url')
向集合中添加数据
for i in range(10):
URL = 'http://www.gumingzhijia.com/page' + str(i)
db.sadd('url', URL)
print('第一次插入后所有的URL:', db.smembers('url'))
判断某URL是否在集合中
out = db.sismember('url', 'http://www.gumingzhijia.com/page1')
if out == 0:
print('URL没有在集合中')
else:
print('URL在集合中')
随机返回集合中的一个值,原集合不变
randon_url = db.srandmember('url')
print('随机返回的值为:', randon_url)
重复数据将无法插入
for i in range(5, 20):
URL = 'http://www.gumingzhijia.com/page' + str(i)
db.sadd('url', URL)
print('第二次插入后所有的URL:', db.smembers('url'))
随机取出一个并且删除
item = db.spop('url')
print('取出的值为:', item)
print('剩余URL:', db.smembers('url'))
end = time.time()
print('总计用时间:%f 秒!' % (end-start))
遍历取出所有的URL
for i in db.smembers('url'):
db.spop('url')
查看集合是否为空
print(db.smembers('url'))