100w并发产生唯一随机id
#coding=utf-8
import time
import base64
import getopt
import sys
import threading
import random
import string
import os
def base64_cal():
str = 'admin'
str = str.encode('utf-8')
# 加密
bs64 = base64.b64encode(str)
# 解密
debs64 = base64.b64decode(bs64)
print(debs64.decode("utf-8"))
# base32bit加密
bs32 = base64.b32encode(str)
debs32 = base64.b32decode(bs32)
print(debs32.decode("utf-8")) def enterParams():
opts, args = getopt.getopt(sys.argv[1:], '-h-c:f:', ['help', 'concurrent=', 'file='])
concurrent_data=None
filename=None
for opt_name, opt_value in opts:
print(opt_name,opt_value)
if opt_name in ('-h', '--help'):
usage()
sys.exit()
if opt_name in ('-c', '--concurrent'):
if type(opt_value).__name__=='str':
concurrent_data=opt_value
if opt_name in ('-f', '--file'):
filename = opt_value
# else:
# # return None
# raise TypeError("enter param {} not file's path".format(opt_value)) return concurrent_data,filename def usage():
str="--help:\n\t-c : concurrent TotalData\n\t -f: filename's path\n--example:" \
"\n\tpython testfile.py -c 1000000 -file=./res/testPython.txt"
print(str) class ConcurrentIdSample(threading.Thread):
def __init__(self,func,args=()):
self.func=func
self.args=args
threading.Thread.__init__(self)
def run(self):
self.result = self.func(*self.args)
def get_result(self):
try:
return self.result
except Exception:
return None def func(*args):
# print(time.asctime())
return ''.join(random.sample(string.hexdigits,random.randint(*args))) def concurrent_execute(concurrent_data):
pool=[]
samplesList=[]
for i in range(concurrent_data):
thread_sample=ConcurrentIdSample(func,(16,20))
pool.append(thread_sample)
thread_sample.start()
for thread in pool:
thread.join()
samplesList.append(thread.get_result())
return samplesList def outPut():
st=time.time()
concurrent_data,filename=enterParams()
res=concurrent_execute(concurrent_data)
end=time.time()
during=end-st
print(len(res),"\nmake {} datas time cost {}".format(concurrent_data,during),'\n')
if __name__ == '__main__':
enterParams()
100w并发产生唯一随机id的更多相关文章
- 【高性能】生成唯一时间戳ID,1毫秒预计能生成1000个
凡事涉及到高性能貌似都是高大上的东西,所以嘛我也试试:其实这个时间戳ID的生成主要为了解决我们公司内部的券号生成,估计有小伙伴认为券号生成有这么麻烦嘛,搞个自增ID完全可以用起来,或者时间取毫微米时间 ...
- 可实现的全局唯一有序ID生成策略
在博客园搜素全局唯一有序ID,罗列出来的文章大致讲述了以下几个问题,常见的生成全局唯一id的常见方法 :使用数据库自动增长序列实现 : 使用UUID实现: 使用redis实现: 使用Twitter的 ...
- 生成随机id对比
生成随机id 最近公司的项目游戏生成的随机不重复id,重复概率有点大, 代码如下: private static int id = 0; public static int serverID = 0; ...
- 学习笔记找到多个具有相同 ID“_header”的控件,FindControl 要求控件具有唯一的 ID.
解决 找到多个具有相同 ID“_header”的控件,FindControl 要求控件具有唯一的 ID. private void DisplayHotBooks() { //获取 ...
- 生成唯一的id(转)
很多朋友都利用md5()来生成唯一的编号,但是md5()有几个缺点:1.无序,导致数据库中排序性能下降.2.太长,需要更多的存储空间.其实PHP中自带一个函数来生成唯一的id,这个函数就是uniqid ...
- extjs每一个组件要设置唯一的ID
extjs每一个组件要设置唯一的ID,否则会造成各种错误 EXTJS基本上是靠ID来识别组件的,假如你在panel1中有个ID:"keyword"的textfield,而panel ...
- 用java生成32位全球唯一的id编号
GUID是一个128位长的数字,一般用16进制表示.算法的核心思想是结合机器的网卡.当地时间.一个随即数来生成GUID.从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义 ...
- js生成唯一的id
1.生成[0,1)的随机数的Math.random Math.random().toString().replace(".", "");// 生成唯一的id 2 ...
- ionic获取ios唯一设备id的解决方案
经常有朋友来问这个问题. 每次都去解释这个问题也浪费不少时间, 所以还是开一篇文章, 把这个问题说清楚吧. 先纠正一个误区吧: 有同学可以通过ionic natvie的device插件获取. 我们在文 ...
随机推荐
- C++指针和引用及区别
1.变量 首先最重要的,variable的定义,当你申明一个变量的时候,计算机会将指定的一块内存空间和变量名进行绑定:这个定义很简单,但其实很抽象,例如:int x = 5; 这是一句最简单的变量赋值 ...
- 「模板」AC自动机
目录 说明 普通版本 询问更改版 拓扑优化版本 说明 这篇博客只挂模板,具体分析请膜拜大佬 hyfhaha 大佬. 普通版本 题目传送门 #include<cstdio> #include ...
- mybatis--使用接口注解的方式实现Helloword
首先,创建一个数据库my,并在数据库中插入一张表user,然后在user表中插入一行数据,代码如下: create database my; use my; create table user( id ...
- ELK节点安装
ELK 安装参考链接 https://www.cnblogs.com/xialiaoliao0911/p/9599898.html setenforce 0sed -i s/enforcing/dis ...
- 传奇版本中利用NPC迅速给人物加血脚本制作
在传奇中,快速给玩家回血的脚本被广泛运用,能刺激玩家消费,怎么说呢,玩家跟人PK激情中,特别是群打,快速补血的重要性不说你也懂的. [@main]神医:“最近玛法大陆动荡不平,每天进进出出这里的伤者日 ...
- C语言笔记 10_文件读写&预处理器
文件读写 上一章我们讲解了 C 语言处理的标准输入和输出设备.本章我们将介绍 C 程序员如何创建.打开.关闭文本文件或二进制文件. 一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节.C ...
- sqli-libs(5-10关)
Less_5 补充基础知识 1. left(a,b)左侧截取a的前b位,正确则返回1,错误则返回o Select left(database(),1)=’s’; 其中database()为sec ...
- 吴裕雄 python 神经网络——TensorFlow实现搭建基础神经网络
import numpy as np import tensorflow as tf import matplotlib.pyplot as plt def add_layer(inputs, in_ ...
- Python(二) isinstance
原文链接: http://www.baike.com/wiki/isinstance&prd=jinshan https://www.liaoxuefeng.com/wiki/00143160 ...
- IIS-反向代理简介
参考:https://www.williamlong.info/archives/5353.html 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后 ...