怎样制作一个网站网站报名照片怎么做

diannao/2026/1/21 2:36:49/文章来源:
怎样制作一个网站,网站报名照片怎么做,为企业开发网站,3合1网站建设公司前言 最近因为刚入职公司开启自己的实习生涯#xff0c;工作和毕设论文同步进行#xff0c;导致有段时间没更新博客了#xff0c;今天来分享一下最近学到的一些知识。 场景介绍 BOSS让我写一些接口#xff0c;他提出这样一个需求#xff0c;该接口的参数有多个#xf…前言 最近因为刚入职公司开启自己的实习生涯工作和毕设论文同步进行导致有段时间没更新博客了今天来分享一下最近学到的一些知识。 场景介绍 BOSS让我写一些接口他提出这样一个需求该接口的参数有多个其中包含shopname参数该参数要根据调用者传入的shopname再在后边拼接一个id作为一个新的字段来作为参数去调用别的接口。而且要保证ID的唯一性。因为BOSS要我写的接口是我们公司内部用的系统的接口并发量不会太大但我想万一真有两个人近乎一起用了该接口该怎样保证获取的id的唯一性。于是就有了下面的经历。 该场景需要从Redis中获取一个唯一id并修改它的值因为要保整其获取的id的唯一性又因有一定的并发量所以采用先占位再获取的方法防止id重复。 待优化代码 这段代码是我本来自己写的后来感觉质量不是太高总觉得能有优化的地方但由于公司就我一个Python没办法去问别人于是就去问ChatGPT。源代码如下。 # 获取当前id_flag采取先占位再获取的方法防止id重复 def get_curentid(report_num:int) - int:def get_titleid_flag() - int:titleid_flag int(r.get(titleid_flag))return titleid_flagdef set_titleid_flag(old_titleid_flag, new_titleid_flag: int) - bool:if old_titleid_flag get_titleid_flag():r.set(titleid_flag, new_titleid_flag)return Trueelse:return Falsetime_pull time.time()time_end time_pull 5old_titleid_flag get_titleid_flag()while True:if set_titleid_flag(old_titleid_flag, old_titleid_flag report_num):return old_titleid_flagelif time.time() time_end:old_titleid_flag get_titleid_flag()continueelse:return -1代码解释 该函数是用来当前 id_flag 的方法。采用了先占位再获取的策略以防止 id 的重复使用。下面是简单的解释 get_curentid(report_num:int) - int: 这是主函数它接受一个整数参数 report_num表示要修改的id值并返回一个整数作为当前的 id_flag。get_titleid_flag() - int: 这个函数从Redis中获取当前的 titleid_flag并将其转换为整数后返回。set_titleid_flag(old_titleid_flag, new_titleid_flag: int) - bool: 这个函数尝试将 titleid_flag 的值从旧值更新为新值。在更新前先查询旧值有没有变化若无变化则更新。如果更新成功则返回 True否则返回 False。在主函数中通过循环不断尝试更新 titleid_flag 的值直到更新成功或者超时时间到达。超时时间为 5 秒。如果成功更新了 titleid_flag 的值则返回旧的 titleid_flag表示成功获取到了 id_flag。如果超时未能成功更新则返回 -1表示获取失败。 总之这个函数通过Redis中的一个标识值来确保获取到的 id_flag 是唯一的并且采用了一定的重试机制来应对可能的竞争条件或者网络延迟导致的更新失败情况。 然后问了ChatGPT后他给了我一下优化建议。 代码可优化方向 因为对原子操作和分布式锁之前没了解过所以特意去搜索了解了一下。 原子操作介绍 分布式锁介绍 一些好的提高并发度和性能的算法或方案 之后又问了ChatGPT有没有什么好的方案他给出了一下方案总结一下就是确保访问唯一性减少访问频次限制并发数量。具体回答如下 令牌桶算法和漏桶算法 除此之外还了解了两个新的关于限流的算法。 优化后的代码 基于上述信息我对原本的代码进行了下列优化利用Redis的原子操作来优化这段代码使用 Redis 的 SETNXSET if Not eXists命令来实现分布式锁。SETNX 命令可以在 key 不存在的情况下设置 key 的值如果 key 已经存在则不进行任何操作。 import redis import time# 创建 Redis 客户端连接 redis_client redis.Redis(hostlocalhost, port6379, db0)# 获取铺位评估报告当前 id_flag采取先占位再获取的方法防止id重复 def get_curentid(report_num: int) - int:# 设置锁的过期时间防止锁未正常释放导致死锁lock_timeout 5 # 5秒# 生成锁的键名lock_key titleid_flag_lock# 初始化等待时间wait_time 0.1# 循环尝试获取锁while True:# 使用 SETNX 命令尝试获取锁lock_acquired redis_client.setnx(lock_key, locked)if lock_acquired:# 如果成功获取锁则设置锁的过期时间redis_client.expire(lock_key, lock_timeout)# 获取当前 id_flagcurrent_id_flag int(redis_client.get(titleid_flag) or 0)new_id_flag current_id_flag report_numredis_client.set(titleid_flag,new_id_flag)# 释放锁redis_client.delete(lock_key)return current_id_flagelse:# 如果获取锁失败则等待一段时间后重试time.sleep(wait_time)# 等待时间指数增加wait_time * 2 # 指数增长可以根据实际情况调整return -1 # 获取失败时返回 -1# 测试代码 report_num 10 current_id get_curentid(report_num) print(Current ID Flag:, current_id)在这个优化版本中通过使用 Redis 的 SETNX 命令来获取分布式锁避免了之前循环重试的方式提高了效率。同时在获取锁成功后设置了锁的过期时间以防止锁未正常释放导致的死锁问题。同时为了引入指数退避策略可以在获取锁失败后进行等待时间的指数增加。这样可以减少频繁重试锁的获取降低系统负载提高效率。 但是由于只是在开发环境下测试也没办法模拟高并发情况来对比两段代码的运行结果理论上优化后的是由优于前者的但本地测试感官上是差不多。没人带真难受老代码是我入职第一天晚上自己要的服务器宝塔面板是第二天自己主动要的Redis密码是自己在配置文件里查的遇到问题也是自己解决的我这两排工位没一个同事感觉赛博孤岛似的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89764.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浪漫免费表白网站宁波免费建站外包公司

在索引深入浅出:非聚集索引的B树结构在聚集表里,在聚集表里,我们看到非聚集索引的叶子层只包含非聚集索引键和聚集索引键。从聚集表结构或堆表结构里拿到剩下列,SQL Server需要进行书签/键查找操作。很多情况下书签或键查找非常消…

北京网站设计技术网站建设 自学

ClientScript.RegisterStartupScript(this.GetType(), "mb", "alert(\"提交成功\");window.location.href\"datadict.aspx\";", true); 转载于:https://www.cnblogs.com/xmyy/articles/2145635.html

做网站需要掌握什么网站营销的优缺点

如何达成目标 一、本书主要内容 推荐序一 升级你的行动工具箱 推荐序二 人们可以改变 引言 成功者和自制力的悖论 //004 自制力到底是怎样的 //007 你能做什么 //009 本书的主题 //011 1.1 准备就绪 第1章 你明白自己去往哪里吗 别说“做到最好” //017 大局与细节 //…

个体工商户在线注册手机端网站优化排名seo推广

来源:ScienceAI编辑:萝卜皮Facebook 的母公司 Meta 表示,它已经建造了一台世界上最快的研究超级计算机。Meta 研究人员 Kevin Lee 和 Shubho Sengupta 在今天的博客文章中写道,到今年年中,系统的扩展完成后&#xff0c…

域名不变 新网站各种网址大全

前端项目创建 准备工作 nodejs安装 vue cli安装 vue create frontend 最后一个y的话 它会保存 方便下次创建项目 我这是手快敲错了 随自己 前端项目组件及作用 Element-UI引入 安装 npm i element-ui -S main.js中引入 清空路口App.vue 清空Home页面 随便写个按钮 原因…

淘宝店铺网站策划wordpress网站专题

前言:常用的ORM框架有哪些 JdbcTemplate JdbcTemplate 是Spring框架提供的一个JDBC抽象库,旨在简化传统的JDBC操作,避免了繁琐的JDBC代码和数据库资源的手动处理。通过JdbcTemplate,开发者可以更加专注于业务逻辑而不是数据库的连…

做直播网站软件有哪些软件有哪些seo网站关键词优化报价

#undef 是在后面取消以前定义的宏定义 该指令的形式为 #undef 标识符 其中,标识符是一个宏名称。如果标识符当前没有被定义成一个宏名称,那么就会忽略该指令。一旦定义预处理器标识符,它将保持已定义状态且在作用域内,直到程序结束…

母婴网站建设初衷2018做网站 工具

观察者模式监听判断dom元素是否在可视区域内 本项目是使用vue3的写法。 1.IntersectionObserver IntersectionObserver可以用来自动监听元素是否进入了设备的可视区域之内,而不需要频繁的计算来做这个判断。由于可见(visible)的本质是&…

蔡家坡网站开发html网页制作步骤

给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。 输入格式: 输入在一行中给出A。 输出格式: 输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔&#…

有没有做catalog的网站大连网站建设找哪家好

题目 幼儿园里有 N 个小朋友,老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。 但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果的时候&#xff…

服务器对应的网站开发语言太姥山镇建设的网站

思维导图:https://www.processon.com/view/link/5f0a6983e401fd0c8fffa75b

做网站要懂哪些杭州工程网站建设

前言大家应该都知道,整数包括负数,零,和正数。在Java中,基本类型中byte(8位)、short(16位)、int(32位)、long(64位)属于整数,并且没有无符号数,均是有符号的。对于计算机来说,它只认识二进制&am…

什么网站的地图厦门 网站优化

本节课主要是跟着教程做的,操作的东西放到作业里记录了。 这里主要记录一些视频里讲的非操作性的东西。 RAG外挂知识库?优点是成本低,不用重新训练 RAG的一个整体流程。 涉及了文本相似度匹配,是不是和传统的问答系统&#xff0…

石家庄网站建设外包保定网站推广哪家好

IoC按名称查找共分为三类: 按名称按类型按集合 按名称查找 在Spring Framework中,实时加载和延迟加载是指在容器启动时是否立即实例化bean的不同策略。下面我们将分别介绍这两种加载方式及其应用场景。 tips: 当涉及到懒加载和延时加载时&#xff0…

佛山营销网站建设制作石家庄优化seo

Maven环境搭建及配置 1.下载部署 官方网站下载正式版的Maven文件,打开bin目录,复制路径然后去环境变量中的path下配置环境变量, 如果只有一个用户只需要在上面path配置复制的路径,当然也可以直接在下面配置,下面配置默认给所有用户都配置 设置完成打开控…

dede手机医院网站模板下载辽宁省建设注册中心网站

问答系统需求文档 一、项目概述 本项目旨在开发一个能够上传 PDF 文件,并基于 PDF 内容进行问答互动的系统。用户可以上传 PDF 文件,系统将解析 PDF 内容,并允许用户通过对话框进行问答互动,获取有关 PDF 文件内容的信息。 二、…

可商用的设计网站网页设计网站总结报告怎么写

在一些应用领域,电源模块会在极端环境温度条件下工作。为了确保电源在高低温环境下可以正常运行,满足设备需求,需要对电源模块进行温度循环测试。 温度循环测试是指电源模块经过升温、保温、降温等多次循环试验来检测其在温度变化下的耐热性、…

广州网站制作方法公司做网站怎么做

如何判断exe文件是debug还是release编译生成的结论: 用IDA工具打开exe,然后看Imports里面的依赖库是否有带d或D结尾的,如果有就说明是Debug的 实验:(实验环境 vs2017, IDA工具) (0&…

怎么做网站推广临沂网站建设的基本流程包括什么

很多个人站长和中小企业在做网站的时候,会选择虚拟主机。虚拟主机用的操作系统多为Windows系统,很多人一提到操作系统立马联想到Windows系统。其实除了Windows系统外,还有很多的操作系统。其中Linux系统是其中的佼佼者。 1、操作系统 window…

泰安润泽建设工程有限公司网站做购物网站怎么赚钱

一直都是编译armabi的。没有不论什么问题,这个架构是软件模拟浮点运算的。后来看到NDK文档上说armabi-v7a是针对有硬件处理浮点计算的arm cpu的。 于是就改动配置编译armebai-v7a的so文件。 结果是编译没问题。一执行就是crash掉,Fatal signal 7 (SIGSEG…