- 博客(32)
- 收藏
- 关注
原创 redis缓存穿透深入浅出
那么通过布隆过滤器判断id是否有值,就是把用户传入的id用hash计算3次,看一下对应位置是否都是1,如果不是,说明数据不存在。id3的数据不存在,但是因为反hash后的值正好对应id1和id2的某几位数值,导致布隆过滤器认为id3存在。缓存穿透:查询一个不存在的数据,mysql查询不到的数据也不会直接写入缓存,导致每次请求都查数据库。如果该id有了数据,从缓存里取到的还是空数据,会发生数据不一致问题。但是如果查的数据不存在,便会一直访问数据库,造成缓存穿透。缺点:存在误判率,原因如下。
2024-07-10 23:46:38
319
1
原创 oj判题项目学习笔记
其核心模块是判题模块和沙箱模块,判题模块发送题目的代码,题目的输入用例给代码沙箱,代码沙箱编译执行代码得到结果,沙箱模块把得到的结果,执行信息,执行环境再返回给判题模块,由判题模块来对比输入输出用例是否一致,从而来判断题目是否正确,判题模块和代码沙箱模块是通过API交互的,代码沙箱是一个单独的项目,实现了解耦。3、整合了monaco-editor代码编辑器,这个代码支持html、java、JavaScript,python等多种语言的提示编写高亮,在系统里主要是用来给用户回答问题的代码的。
2024-06-28 13:15:14
1970
5
原创 写项目技术越新越好吗,模块越解耦越好吗?
我本身开发项目的经验并不丰富,微服务架构用的也不是很多,再加上这个项目的架构,工具包我用的不是很熟,导致我写功能的时候总是瞻前顾后的,一会导包不成功,我开始检查父工程自工程的包,导入和关系,有没我需要的包等等,把我的注意力大半都从功能上分散出去了,等解决完导包,依赖冲突等问题,才能再回过头来写业务逻辑。如果预期项目将来会快速增长,或者需要频繁添加新功能,微服务可以更容易地支持水平扩展和独立部署,提高系统的稳定性和可维护性,但是需要注意的是,同时微服务也需要更为复杂的监控和管理,操作更为复杂,时间成本更高。
2024-06-02 22:17:35
401
原创 nginx重要概念
客户端同时发出很多请求,反向代理收到请求后,把请求平均发给多台服务器处理,每台服务器承受的请求差不多。正向代理:客户端不能直接访问网络资源,所以,在客户端配置代理服务器,客户端通过代理服务器访问资源。反向代理:客户端把请求发给反向代理,反向代理问服务器要数据再返回给客户端。nginx可以把静态资源和动态资源分开部署在不同的服务器上。优点:隐藏了真实服务器IP地址。
2024-05-02 23:40:35
146
2
原创 nginx安装步骤
root@localhost vagrant]# mv nginx-1.25.1.tar.gz /usr/web #将包移动到指定文件夹下。[root@localhost web]# tar -zxf nginx-1.25.1.tar.gz #解压文件夹。[root@localhost web]# cd nginx-1.25.1 #进入到nginx文件夹下。[root@localhost vagrant]# cd /usr/web #进入到指定文件夹下。出现如下信息,代表nginx配置成功。
2024-05-02 23:37:52
1096
1
原创 element-ui中drawer的简易使用介绍,重点介绍调整drawer宽度
我们通过el-button来显示Drawer,通过visible.sync来控制Drawer的显示状态。通过设置size属性来调整Drawer的宽度。
2023-05-22 14:52:40
3521
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人