set_ip_pool
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import redis
import urllib2
class RedisConnect:
#class member
__redisId=""
__host=""
__port=""
__db=""
__pwd=""
#Add an element to the collection
def setSadd(self,key,value):
try:
return self.__redisId.sadd(key,value)
except Exception,e:
print e
#Delete an element in a collection.
def srem(self,key,member):
try:
return self.__redisId.srem(key,member)
except Exception,e:
print e
#Get the total number of elements in the collection
def getScard(self,key):
try:
return self.__redisId.scard(key)
except Exception,e:
print e
#Get some member
def getSrandmember(self,key,count):
try:
return self.__redisId.srandmember(key,count)
except Exception,e:
print e
#To determine whether the set in the member
def getSismember(self,key,member):
try:
return self.__redisId.sismember(key,member)
except Exception,e:
print e
#Delete all keys
def delAllKey(self):
try:
return self.__redisId.flushdb()
except Exception,e:
print e
def getIp(count):
url = "http://xvre.daili666api.com/ip/?tid=xxxxxxxxxxx&num=%d"%(count)
req = urllib2.Request(url)
res_data = urllib2.urlopen(req)
res = res_data.read().split("\r\n")
return res
def main():
try:
redis=RedisConnect("xxxxxxxxxx",0000,x,"xxxxxxxxx")
count=redis.getScard("ipPool")
if not count:
Ips=getIp(10000)
for i in Ips:
print "------Is insert ip :%s---------"%i
redis.setSadd("ipPool",i)
if redis.getScard("ipPool")>=1000:
break
else:
ipList=redis.getSrandmember("ipPool",500)
for i in ipList:
print "xxxxxxxxxxIs delete ip :%sxxxxxxxxxxx"%i
redis.srem("ipPool",i)
Ipss=getIp(10000)
m=0
while redis.getScard("ipPool") <1000:
print redis.getScard("ipPool")
print "------Is update ip :%s---------"%Ipss[m]
redis.setSadd("ipPool",Ipss[m])
m+=1
print "--------------------------Update Ip Success----------------------------"
except Exception,e:
print e
#Delete some ip
if __name__ == "__main__":
main()
set_ip_pool的更多相关文章
随机推荐
- Subversion 1.8.1编译安装(self)
Subversion 1.8中http客户端基于neon已经被移除,改用self.如果要支持http方式需要在安装svn前安装serf,安装serf推荐用serf-1.2.1,安装是./configu ...
- JDBC学习笔记(9)——DBUtils的使用
使用DBUtils提供的功能需要使用commons-dbutils-1.6.jar这个JAR包,在Apache官网可以下载到 使用DBUtils进行更新操 测试QueryRunner类的update方 ...
- IPhone 设备状态、闪光灯状态
//判断闪光灯状态,修改默认的"CameraFlashOff" 按钮图片.转由 TGCameraFlash.m 控制图标切换 AVCaptureDevice *device ...
- 《数据通信与网络》笔记--SCTP
SCTP(stream control transmission protocol)是一种新的可靠的,面向报文的传输层控制协议.它兼有UDP和TCP的特性,它是可靠的面向报文的协议,它保存报文的边界, ...
- Codeforces Round #359 (Div. 2) C. Robbers' watch (暴力DFS)
题目链接:http://codeforces.com/problemset/problem/686/C 给你n和m,问你有多少对(a, b) 满足0<=a <n 且 0 <=b &l ...
- C#学习笔记(二):继承、接口和抽象类
继承 密封类 密封类(关键字sealed)是不允许其它类继承的,类似Java中的final关键字. public sealed class SealedClassName { //... } 初始化顺 ...
- DNS添加/修改/查询/删除A记录
#查询DNS可用类 Get-WmiObject -Namespace root\MicrosoftDNS -List #查询所有资源记录 $mydns = [WMIClass]"ROOT\M ...
- 【转】larbin中的url去重算法
1.bloom filter算法 传说中,larbin使用bloom filter算法来进行url去重.那我们就先来了解下bloom filter算法好了. [以下转自:http://hi.baidu ...
- python的一些总结5
上面4都是水的 恩每篇都一点知识点 用来写给不耐烦的人看..哈哈这篇 争取不水. 上面4篇如果 掌握 基本上是 80%常用的代码了. 1.下面讲一下 比较常用的代码: macro(jinja 上的功能 ...
- PI-利用SoapUI 测试web service的方法介绍
在运用webservice调用数据的过程中,非常关键的一个步骤就是获取到webservice的地址,并测试webservice的连通情 况,webservice的连通测试主要是两个方面:1,查看web ...