zoukankan      html  css  js  c++  java
  • python-redistest

    # !/usr/bin/python3.4
    # -*- coding: utf-8 -*-
    
    import redis
    import time
    
    
    # 这里用来读取ip
    def getips():
        ip = []
        # 读取ip
        file = open("../ip/ip.txt")
        ips = file.readlines()
        # 将ip写入数组并加上时间戳
        for item in ips:
            # 标记时间戳
            markedtime = int(time.time())
            ip.append(item.strip() + "*" + str(markedtime))
        return ip
    
    
    # 传入带有时间戳的ip数组
    def test(ips):
        # 在这里打开redis
        r = redis.Redis(host='127.0.0.1', port=6379, db=0)
    
        # 删除旧的列队
        r.delete("mylist")
    
        # 将ip添加进消息列队
        for item in ips:
            r.lpush("mylist", item)
    
        # 逐个取出和存储
        # 因为要一直取所以用while
        while True:
            # 逐个取出
            temppop = r.rpop("mylist")
    
            # 去除*号后面的东西
            splitstar = temppop.decode('utf-8', 'ignore').split("*")
    
            # 得到间隔大于3秒的ip
            # 当前时间
            nowtime = int(time.time())
            # 如果时间间隔大于3就取出来使用
            if nowtime - int(splitstar[1]) >= 3:
                ip = splitstar[0]
                print("取出ip:" + str(ip))
            else:
                # 如果间隔小于3秒则重新写入列队
                r.lpush("mylist", temppop)
                # 跳过这次循环
                continue
    
            # 这里写解析函数
            # 如果消费了这个ip就逐个写入
            # ......
    
    
            # 逐个写入
            # 标记时间戳
            markedtime = int(time.time())
            # 构造格式
            temppush = str(ip) + "*" + str(markedtime)
    
            # 写入列队
            r.lpush("mylist", temppush)
            # 不知道怎么一个一个的返回
            input('---' * 10)
            # return ip
    
    
    if __name__ == '__main__':
        a = test(getips())
        print(a)
    
    
  • 相关阅读:
    动态创建html内容时所用的W3C DOM属性和方法
    CSS强制英文、中文换行与不换行 强制英文换行
    aspose.words .net 导出word表
    nodejs -数据分页ejs-分页控件
    mysql模块简单实用操作-----nodejs
    coffeeScript命令
    命令
    用node 开发简易爬虫
    电脑不支持VT-X问题解决
    hibernate 使用sql server的存储过程时没有返回值
  • 原文地址:https://www.cnblogs.com/TTyb/p/6268154.html
Copyright © 2011-2022 走看看