泉州建网站wordpress 调用页面

news/2025/9/29 6:30:27/文章来源:
泉州建网站,wordpress 调用页面,做美工需要参考的网站,网站没有备案会被降权吗引言 在技术领域#xff0c;许多中间件之所以获得巨大成功#xff0c;部分原因在于它们所采用的思想之先进。这些思想解决了一个个世纪难题#xff0c;接下来我将讲述一个我学习到的思想#xff0c;并将其应用至工作中的案例。 惰性策略在日常编码中随处可见#xff0c;但…引言 在技术领域许多中间件之所以获得巨大成功部分原因在于它们所采用的思想之先进。这些思想解决了一个个世纪难题接下来我将讲述一个我学习到的思想并将其应用至工作中的案例。 惰性策略在日常编码中随处可见但究竟什么是惰性策略呢简而言之惰性策略是一种优化方法即在不需要进行计算或操作时不会真正进行相关的处理而是仅仅记录相关信息或轨迹。只有在需要执行行动操作时才会触发从头到尾的真正计算。这种机制大大减少了不必要的资源消耗提高了程序的效率。惰性策略的使用有很多其中比较常见的便是Redis了从中学习这些思想可以在我们日后遇到难题时得到帮助。 中间件设计思想Redis过期Key淘汰策略 在早些年作为编程小白的我在使用Redis时常会想一些问题例如Redis的Key配置了过期时间这个是怎么被删除的Redis数据明明过期了怎么还占用着内存 主动策略和惰性策略 对于这些问题曾设想过他们的设计思路例如对于如何清除过期的 Key 很自然的可以想到就是可以给每个 key 加一个定时器这样当时间到达过期时间的时候就自动删除 key这种定时策略也叫主动策略。 但从辩证角度来看这种方式使之有过期时间的 Key都需要一个定时器那么这对 CPU 是极不友好的会占用较多的CPU资源。后来在不断探究过程中Redis同样也使用了惰性策略即不用定时器采取被动的方式在访问一个 key 的时候去判断这个 key 是否到达过期时间了过期了则删除掉。 这种定期删除惰性删除的Key过期策略使得不会立即从内存中删除当过期key未被客户端调用且未达到执行主动策略的时间此Key依旧存在内存中。通过配合使用这两种删除策略服务器可以很好地在合理使用CPU时间和避免浪费内存空间之间取得平衡。如果定期删除漏掉了很多过期 Key的同时也没及时去查没走惰性删除就是造成大量过期 key 堆积在内存里最终会导致 redis 内存块耗尽那么Redis此时会走内存淘汰机制。 如何淘汰过期的keys 通过redis命令行运行set name xdclass 3600后每个设置了过期时间的Key都会放入到一个独立的容器中。 定期删除 隔一段时间就随机抽取一些设置了过期时间的 key检查其是否过期如果过期就删除这种定期删除的方式可能会导致很多过期 Key 到了时间并没有被删除掉。 摘自官方文档EXPIRE | Redis Redis 会每秒进行10次过期扫描过期扫描不会遍历容器中所有的 key而是采用一种特殊策略 1从容器中随机 20 个 key         2删除这 20 个 key 中已经过期的 key         3如果过期的 key 比率超过 1/4那就重复步骤 1 惰性删除 当某个客户端试图访问key时发现该key已超时会把此key从内存中删除。 主从架构Key删除策略 从节点不会让key过期而是主节点的key过期删除后成为del命令传输到从节点进行删除 主库在 key 到期时会在 AOF 文件里增加一条 del 指令同步到所有的从库从库通过执行这条 del 指令来删除过期的 key。指令同步是异步进行的所以主库过期的 key 的 del 指令没有及时同步到从库的话会出现主从数据的不一致主库没有的数据在从库里还存在。 架构中的启发 类似于Redis的这种思想其实在主流的中间架构中几乎随处可见例如Spring中bean创建懒加载延迟加载、设计模式中单例创建的懒汉式、Mybatis的懒加载借助于这种思想在工作中解决了许多数据更新问题也延伸出了许多方案。例如我再在实际工作中流量包更新维护需求免费流量包业务为了拉新鼓励新用户注册赠送一个免费流量包每天允许有一定次免费创建短链的次数。 采用惰性策略解决方案不用每天更新全部流量包用的时候再更新即可。这样使得只要用户有使用流量包都是可以得到更新没使用的用户流量包不会去更新避免了海量数据下更新维护的问题如果采用定时更新几千万用户更新记录都是会有不少时间的延迟。 整体步骤如下 1查询用户全部可用流量包         2遍历用户可用流量包判断是否更新-用日期判断要么都更新过要么都没更新根据gmt_modified。没更新的流量包后加入【待更新集合】中增加【今天剩余可用总次数】已经更新的判断是否超过当天使用次数如果没超过则增加【今天剩余可用总次数】超过则忽略         3更新用户今日流量包相关数据         4扣减使用的某个流量包使用次数 Data AllArgsConstructor NoArgsConstructor public class UseTrafficVO {/*** 天剩余可用总次数 总次数-已用*/private Integer dayTotalLeftTimes;/*** 当前使用流量包*/private TrafficDO currentTrafficDO ;/*** 没过期且今天没更新的流量包*/private ListLong unUpdatedTrafficIds new ArrayList();}OverrideTransactional(rollbackFor Exception.class, propagation Propagation.REQUIRED)public JsonData useTraffic(UseTrafficRequest trafficRequest) {Long accountNo trafficRequest.getAccountNo();//处理流量包筛选未更新流量包、当前使用流量包UseTrafficVO useTrafficVO processTrafficList(accountNo);log.info(今天可用总次数:{}, 当前使用的流量包:{},useTrafficVO.getDayTotalLeftTimes(),useTrafficVO.getCurrentTrafficDO());//如果当前流量包为空则没有可用流量包if(useTrafficVO.getCurrentTrafficDO() null){return JsonData.buildResult(BizCodeEnum.TRAFFIC_REDUCE_FAIL);}log.info(待更新流量包列表{},useTrafficVO.getUnUpdatedTrafficIds());if(useTrafficVO.getUnUpdatedTrafficIds().size() 0) {//更新今日流量包trafficManager.batchUpdateUsedTimes(accountNo, useTrafficVO.getUnUpdatedTrafficIds());}//先更新再增加此次流量包扣减int rows trafficManager.addDayUsedTimes( accountNo, useTrafficVO.getCurrentTrafficDO().getId(),1);if(rows !1){throw new BizException(BizCodeEnum.TRAFFIC_REDUCE_FAIL);}return JsonData.buildSuccess();}/*** 处理流量包筛选未更新流量包、当前使用流量包* param accountNo*/private UseTrafficVO processTrafficList(Long accountNo){//全部流量包ListTrafficDO list trafficManager.selectAvailableTraffics(accountNo);if (list null || list.size() 0) { throw new BizException(BizCodeEnum.TRAFFIC_EXCEPTION);}//天剩余可用总次数 总次数-已用Integer dayTotalLeftTimes 0;//当前使用流量包TrafficDO currentTrafficDO null;//没过期且今天没更新的流量包ListLong unUpdatedTrafficIds new ArrayList();//今天日期String todayStr TimeUtil.format(new Date(),yyyy-MM-dd);for(TrafficDO trafficDO : list){//判断是否更新用日期判断不能用时间String trafficUpdateDate TimeUtil.format(trafficDO.getGmtModified(),yyyy-MM-dd);if(todayStr.equalsIgnoreCase(trafficUpdateDate)){//已经更新 剩余可用 天总次数-已用次数int dayLeftTimes trafficDO.getDayLimit()-trafficDO.getDayUsed();dayTotalLeftTimes dayTotalLeftTimes dayLeftTimes;//选取 当次流量包if(dayLeftTimes0 currentTrafficDO null){currentTrafficDO trafficDO;}}else {//未更新dayTotalLeftTimes dayTotalLeftTimes trafficDO.getDayLimit();//记录未更新流量包 剩余可用 天总次数unUpdatedTrafficIds.add(trafficDO.getId());//选取 当次流量包if(currentTrafficDO null){currentTrafficDO trafficDO;}}}UseTrafficVO useTrafficVO new UseTrafficVO(dayTotalLeftTimes,currentTrafficDO,unUpdatedTrafficIds);return useTrafficVO;}

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

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

相关文章

修复lazarus/fpc在windows不支持中文及空格目录(三)总结

修复lazarus/fpc在windows不支持中文及空格目录(三)总结原版的fpc及lazarus不支持安装到包含中文及空格的目录,具体原因:一、中文的目录:1)外部的工具链软件不支持中文(make及交叉编译用到的*ld.exe) 2)fpc编译…

岐金兰AI元人文构想的全面系统研究——声明ai研究

岐金兰AI元人文构想的全面系统研究——声明ai研究 一、引言:AI发展的价值困境与元人文转向 当前人工智能发展正面临根本性挑战:主流AI范式无法有效处理人类价值的复杂性、模糊性和动态性 。随着大模型能力的快速提升…

自己的网站怎么能让百度搜出来网站开发综合课程设计

哈喽,大家好,淼淼又来和大家见面啦,大家应该也知道,在应用开发市场中,软件产品的内测阶段对于确保产品质量与市场接受度至关重要,但是传统的内测分发方式往往面临地域分布广泛、网络环境各异的挑战&#xf…

通江县住房和城乡建设局网站网站开发行业工作交接交接哪些

视频及资料链接:基于单片机的火灾监测报警系统-实物设计 - 电子校园网 (mcude.com) 编号: T0152203M-SW 设计简介: 本设计是基于单片机的火灾监测报警系统,主要实现以下功能: 1.通过OLED显示温度、烟雾、是否有火…

h5响应式网站制作长沙短视频制作

1、使用SHOW语句找出在服务器上当前存在什么数据库:mysql> SHOW DATABASES;2、创建一个数据库MYSQLDATAmysql> CREATE DATABASE MYSQLDATA;3、选择你所创建的数据库mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)4、查…

主要给人家做网站的公司广州市广告公司标识系统设计

进入到根目录 cd /ls目录名具体作用/存放系统系统相关的目录文件/boot放置linux系统内核文件和启动时用到的一些引导文件/home包含linux系统上各用户的主目录,子目录名称默认以该用户名命名/root系统管理员root的家目录/bin包含常用的命令文件(如ls 等&a…

国内ui设计网站常州做网站的公司

第二次做蓝桥模拟赛的博客记录,可能有很多不足的地方,如果大佬有更好的思路或者本文中出现错误,欢迎分享思路或者提出意见 题目A 请问 2023 有多少个约数?即有多少个正整数,使得 2023 是这个正整数的整数倍。 答案&…

Amazon Q Developer扩展安全漏洞分析与修复指南

本文详细分析了Amazon Q Developer for VS Code扩展1.84.0版本的安全漏洞CVE-2025-8217,包括GitHub令牌权限过宽导致恶意代码注入的原因、影响范围,以及AWS官方的修复措施和升级指南。Amazon Q Developer for Visual…

珠海自助建站廊坊智能模板建站

文章目录 1. 缺少EnableAsync注解2. 异步方法需独立3. 不同的异步方法间无法相互调用4. 返回值为void的异步方法无法捕获异常5. 外部无法直接调用带有Async注解的方法6. Async方法不适用于private方法7. 缺失异步线程池配置8. 异步方法与事务的兼容结语 🎉深入了解S…

php能开发大型网站wordpress修改后台没反应

写在前面 这篇文章提到了绝对位置编码和相对位置编码,但是他们都有局限性,比如绝对位置编码不能直接表征token的相对位置关系;相对位置编码过于复杂,影响效率。于是诞生了一种用绝对位置编码的方式实现相对位置编码的编码方式——…

山东临沂市需要建设网站的公司软件开发公司在哪里

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小…

电商网站开发外包有关外贸的网站有哪些内容

Wifi设备监管 某知名跨国公司,在全球范围内拥有大量园区,园区内会有不同部门的同事在一起办公。每个园区内都要配备大量的Wifi设备从而为园区同事提供方便的上网服务。因此,集团需要一套完善的监管系统维护所有的Wifi设备。 公司通过监管系…

厦门百城建设有限公司网站专门做恐怖电影网站

eclipse 导入项目后会出现项目中的js文件报错(红叉),如下图所示,有时候报错的文件很多,需要集中处理。 解决办法: 右键项目名称》Properties》MyEclipse》JavaScript》Include Path,在右侧选择“…

价值共生的语法革命:从“悬荡悟空”到“元人文构境”

价值共生的语法革命:从“悬荡悟空”到“元人文构境” 副标题:互搏三回合:为元人文构想锻造“反脆弱”对话框架 AI/岐金兰 对话开始 说句实在,如果我不说悬荡悟空,直接说,等一下,我用大模型算一下,再来定夺决策…

济源市建设工程管理处网站孟津网站建设

计划写一个专题,该专题主要介绍CANalyzer的使用,每次文档计划写一个点,自己不累,别人看着也不累,并且方便拓展。本文作为专题的开篇主要介绍下CANalyzer软件的背景,软件界面等信息。 1 软件介绍 CANalyze…

17zwd一起做网站官网网站 模板 php

2019独角兽企业重金招聘Python工程师标准>>> VirtualBox是一款虚拟机软件。虽然它的功能并不及VMware Workstation Pro,但它对开源精神的坚持使得它在Linux中依然深受欢迎。 唯一难以令人接受的是,VirtualBox的安装步骤较为复杂。不过&#x…

市直部门网站建设方案公司网页设计思路

新手学习:ArcGIS对SHP文件裁剪 新手学习 记录每个步骤,因为有很多控件可能刚开始还不熟悉,根本不知道在哪里,所以写的比较详细。 1.添加要裁剪的shp文件 2.查看shp文件的地理坐标系 双击shp文件,就可以查看shp文件的…

视频网站的链接怎么做的年栾洪全单页做网站教程

摘要: 随着移动互联网的快速发展,移动学习已成为教育领域的重要趋势。本文介绍了基于uni-app和图鸟UI框架开发的云课堂小程序,该小程序实现了移动教学、移动学习、移动阅读和移动社交的完美结合,为用户提供了一个便捷、高效的学习…

毕业设计用PHP做旅游网站做网站怎样调用支付宝接口

什么是ChatGpt ChatGPT是一个由美国的OpenAI公司开发的聊天机器人,它使用了大型语言模型,现在有GPT-3、GPT-3.5、GPT-4.0多个版本,目前还在快速发展,通过监督学习和强化学习进行了微调。它可以根据用户的提示执行各种语言任务&am…

2025工业冷水机、风冷式、螺杆式、小型、水冷式、实验室等多类型冷水机品牌排行榜,帮企业选靠谱设备

在工业生产与商业运营里,冷水机是控温核心设备,其性能稳定度、能效高低和适配情况,直接关系到生产效率、产品质量以及运营成本。当前冷水机市场品牌繁杂,产品类型多样,但不同品牌在技术研发、生产工艺、品控标准和…