当前位置: 首页 > article >正文

接口项目uuid算法开发及验证-thinkphp6-rabbitmq

一、uuid算法开发

if (!function_exists('uuid')){

    /**
     * 生成uuid
     * User: 龙哥·三年风水
     * Date: 2024/6/7
     * Time: 11:08
     * @ param string $prefix
     * @ return string
     */

    function  uuid($prefix = ''){
        $s = [];
        $microtime = microtime(true);
        $rand_num = mt_rand();
        $unique_id = uniqid($prefix, false);
        $hexDigits = hash('sha256', $microtime . $rand_num . $unique_id);
        $numbers = mt_rand(36, 46);
        for ($i = 0; $i < $numbers; $i++) {
            $s[$i] = substr($hexDigits,$i, 1);
        }
        $s[14] = '4';
        if($numbers < 40){
            $s[8] = $s[13] = $s[18] = $s[23] = '-';
        }else{
            $s[10] = $s[16] = $s[22] = $s[28] = '-';
        }
        $uuid = implode("",$s);
        return empty($prefix) ? $uuid : $prefix.$uuid;
    }
}

二、apache-jmeter工具测试

        1、进程管理

        2、header头管理

        3、参数管理

        4、说明

                从100、500、1000、2000、5000、10000的并发,调用此方法后得出6个txt文件,下面验证文件里面的数据是否唯一

三、pythen3验证数据唯一性

# _*_ coding: utf-8 _*_
def public_read(file_name):
    """
    读取txt文件并循环比对
    : param file_name: 文件路径
    : return: 
    """
    original_arr = [] #原数组
    repeat_arr = [] #重复数组
    with open(file_name,'r',encoding='utf-8') as file:
        for line in file:
            if line.replace('\n','') in original_arr:
                repeat_arr.append(line.replace('\n', ''))
            else :
                original_arr.append(line.replace('\n', ''))
    print("job原数组数组:", len(original_arr))
    print("job重复数组:",repeat_arr)

if __name__ == '__main__':
    public_read('./originalFile/test_log.txt')
    public_read('./originalFile/test_log1.txt')
    public_read('./originalFile/test_log2.txt')
    public_read('./originalFile/test_log3.txt')
    public_read('./originalFile/test_log4.txt')

四、提前说明

        明天继续开发workman服务端开发模式


http://www.kler.cn/a/472535.html

相关文章:

  • 案例解读 | 香港某多元化综合金融企业基础监控+网管平台建设实践
  • Windows 系统中的任务管理器是什么,打开快捷键是什么?
  • tomcat12启动流程源码分析
  • 汽车信息安全 -- S32K1如何更新BOOT_MAC
  • open61499符合新型工业控制测试要求吗
  • 【linux系统之redis6】redis的安装与初始化
  • 大模型(LLM)面试全解:主流架构、训练目标、涌现能力全面解析
  • 20250108-实验+神经网络
  • 2025年01月08日Github流行趋势
  • 你好,2025!JumpServer开启新十年
  • 解决 uniapp 开发中的相机相册权限申请同步告知目的问题(兼容 Android 13)| 华为应用商店上架解决方案
  • 【C语言】_冒泡排序及其优化思路
  • 用Python实现货运分析地图应用
  • 经典多模态模型CLIP - 直观且详尽的解释
  • onLoad 生命周期函数是否执行取决于跳转的方式和小程序的页面栈管理机制
  • 移动支付安全:五大威胁及防护策略
  • spark functions函数合集(无示例)
  • dockerfile 中 #(nop)
  • 物联网协议:比较MQTT、CoAP和HTTP以实现高效设备通信
  • 【Leetcode 热题 100】33. 搜索旋转排序数组
  • vulnhub靶场-Deathnote(至获取shell)
  • Linux下文件重定向
  • 【OJ刷题】同向双指针问题
  • CSS语言的编程范式
  • 变压器的啸叫、气隙、中心抽头
  • 表格、列表和表单标签