- 博客(163)
- 收藏
- 关注
原创 查询当前用户的购物车和清空购物车
获取当前用户的userId,组装成一个shoppingcart对象,调用后台sql进行查询,将查询的list返回。在小程序用户端购物车页面能查到当前用户的所有菜品或者套餐。controller层。
2025-04-04 23:47:39
255
原创 清理redis缓存
起售、停售菜品时要对redis的缓存进行清理,使其重新读取后台数据库。否则客户端数据不会变更。重点:抽取重复代码写成一个方法。当在管理端进行增加菜品。
2025-04-01 22:03:23
251
原创 通过redis缓存获取菜品数据
/查询redis中的key,规则:dish_分类id。//通过redis查询返回List<DishVO>//Result返回范型。
2025-03-31 22:50:31
257
原创 java程序中操作redis
1.导入Spring Data Redis的maven坐标。3.创建redis配置类,设置redis模版类对象。2.在配置文件中添加redis配置。4.创建redis操作对象。
2025-03-25 11:14:38
191
原创 新增菜品-接口
可以是插入菜品时,在mapper.xml文件中将id属性返回,这样可以在实现类中getId获得这个口味对应的id,再将id set到口味对象中。在菜品管理页面,依次输入菜品相关内容,并上传图片,点击保存后,可以在页面上新增一个菜品。同一个方法中如果存在多个数据库操作,要么同时操作,要不都不操作,防止数据错乱。业务中一个菜品中可能包含多种口味,在插入口味时需要获得菜品的id,如何获得?在sql处理中,用foreach循环实现类中传过来的数组对象。set好id后,调用flavor的插入sql。
2025-03-08 17:14:30
302
原创 接口-修改账号状态
3.service实现类编写,实现类不讲这两个参数传入到mapper,而是通过builder构建起构建一个employee对象,并将这两个参数传入到这个对象中,将整个对象传入到mapper中。2.controller代码实现,前端通过post请求将status和id传到后端,后端controller接收到这两个参数后,调用service实现类。4.在sql处理中,我们通过动态sql更新employee,这个动态sql方便以后其他更新操作重复使用。在页面上点击账号的{启用/禁用}状态,修改账号状态。
2025-03-02 22:10:32
214
原创 java学习经验积累
1.pom文件中如果添加依赖后点击刷新按钮,刷新成功了但是依赖还是提示下载不下来,可能是前面的依赖写的有问题,可以先clean一下,看下是哪个依赖报的错,把要更新的依赖放在这个有问题的依赖前面,刷新就可以了。2.修改pod拉取依赖发现失败并且想改回原来的pom,重新运行程序发现原来可以运行的程序失败了,可以刷新一下pom文件,再跑一下程序就可以了。3.运行springboot程序,通过mybatis删除一个id是16的数据,启动程序后报错。2、然后找到 trx_mysql_thread_id 列。
2024-06-03 15:25:04
273
原创 idea让gitlab代码回滚到之前的commitid
命令:git push -u origin master。或者在idea中直接push force。2.不用提交,直接强制推送到远程仓库。
2024-03-28 13:31:25
377
原创 redis运维
vm.overcommit_memory=1 #如果这个参数没有修改,可能会引起redis参数丢失,参数很重要。net.core.somaxconn=10240 #调大somaxconn数。调整参数后kill掉redis进程,重启redis就不会报以上警告了。systemctl status redis #查看服务。requirepass redispwd :设置redis密码。设置完该参数后,终端退出重新登录下会生效。
2024-03-03 23:50:14
1449
原创 Iptables防火墙
有ACCEPT(接受),DROP(拒绝)两种。任意一种匹配则说明匹配成功,那么数据包则不需要继续往下匹配。伍个链:INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING。一般拒绝的规则放在所有规则的最上面,允许的规则放在所有规则的最下面。防火墙默认规则是所有规则都匹配后,最后匹配默认规则。防火墙是对于访问的请求数据经过多层规则,层层过滤。4张表:filter,nat,raw,mangle。如果没有匹配到规则,那么最终会匹配默认规则。
2024-02-28 09:38:44
375
原创 fabric学习
1.通过connection连接远程主机,并执行命令。3.从目标服务器跳转到另一台服务器,pty=True。2.上传压缩文件到主机指定目录下,并解压。
2024-01-04 22:56:07
646
原创 LVM逻辑卷管理
1.当分区不够用时,无法扩展大小。2.当磁盘分区不够用时,只能通过添加硬盘的方式,但是新添加的硬盘只能当作独立的系统文件存在。所以如果生产环境的数据库的数据目录满了,只能通过添加新的硬盘后,停止数据库,再将数据库的原始文件导入到新的硬盘目录中,并且将数据库挂到新的硬盘目录。
2023-12-24 18:15:18
1091
原创 linux命令积累ƒ
注意:rm dir1,一定不要加-rf,这样不会把软连接删掉,而且会把实际目录的所有文件删掉!2./data/att/dir1软连接到/data1/att/dir1。1.软连接相当于win的快捷方式,删除了源文件,链接文件就无法使用。2.硬连接修改一个文件(不论修改哪方文件),另一个文件也会被修改。file1是源文件,file2是软连接名(可以随意定义)1.查找指定目录下第二层目录,一年前的文件。1.硬连接不能对目录进行链接。pwd命令看到软连接目录路径。硬连接和软连接的区别。3.给目录创建软连接。
2023-12-09 23:10:40
767
1
原创 nginx-proxy反向代理缓存
反向代理缓存,类似于动静分离,即通过nginx代理服务器根据客户端发送的url请求,去后台服务器获取数据,将静态数据缓存到nginx代理服务器上,并配置有过期时间,当客户端下次以相同的url请求时,nginx直接从本地缓存的数据返回给客户端。
2023-10-07 23:35:48
1511
原创 nginx-proxy反向代理流程
client_max_body_size #限制上传body数据大小,在用户上传时,在http头中会标记content-length大小,以此判断。proxy_temp_file_wirte_size #向临时缓冲区写文件,每次写入大小。proxy_max_temp_file_size #像磁盘中写入的数据最大值,默认1G。proxy_temp_path #写入路径。
2023-10-01 23:13:53
529
原创 java-interface
让一个类弥补了单继承的不足,既可以继承又可以通过实现类使用多个接口的功能。实现累需要重写接口的全部抽象方法,否则实现类需要定义成抽象类。接口中定义的成员变量是常量,成员方法是抽象方法。接口中不能有构造器和代码块。接口不能实例化 创建对象。接口需要被实现类使用。
2023-09-21 09:16:14
302
原创 nginx-日志处理
buffer:设置缓冲区,访问日志不会直接打到磁盘上,而是先积攒到缓冲区,缓冲区满了后在统一往磁盘中写入。error.log #访问错误日志,404,500等请求在这里。flash:定时向磁盘中写入日志,避免长时间buffer缓冲区没满导致的一直不往磁盘中写入的情况。access.log #正常请求的日志。
2023-09-11 22:33:05
321
原创 nginx-带宽限制-令牌桶算法
客户请求nginx时,通过给每个请求授予令牌,来给予每个请求响应的带宽,当令牌全部授予完了,后面的请求就处于等待中。假如一个令牌给100M带宽,那么两个令牌就是200M。有多少牌子,就有多少带宽资源。limit_rate_after:一开始给的带宽。limit_rate:跑一段时间后的带宽。
2023-09-06 23:50:03
453
原创 nginx-QPS限制
http配置limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s。配置后,用压测工具进行压测请求,会发现基本上会严格要求我们在nginx中设置的并发量。会将前五个请求放到桶里面,后面的请求放在队列里面(不会放弃连接),延迟等待处理。在想限速的server字段中配置limit_req zone=one;请求以队列的形式依次进行处理,而不是5个请求同时处理。在桶外面等待的延迟请求,直接失败返回。快速失败配置nodelay。
2023-09-06 21:01:00
698
原创 nginx-error错误页面
2.可以返回200,给客户返回一个401.html的页面,这个页面可以做的友好一点,返回给客户。例:客户访问的资源不存在时,返回302并跳转到一个网站。客户访问发生错误时,nginx返回给客户的错误页面。
2023-09-03 22:46:11
546
原创 nginx-基于range做断点续传
nginx默认开启了range断点续传,只要再请求时载请求头上添加header,range,nginx就可以根据range范围返回相应的字节。
2023-09-03 22:31:23
869
原创 java-参数传递机制
如果是数组的参数传递,那么是引用传递(本质上还是值传递,但是由于数组的值传递是传递数组的内存地址,所以当方法收到内存地址后修改的还是内存地址对应相同的值)。被调用的函数修改数组后,由于地址指向同一个数组,所以原main函数再次访问该内存地址后发现,堆内存数组已被修改。传递到方法中的值是拷贝后的值。
2023-09-03 18:15:52
684
原创 java-方法
java定义方法如果没有返回值,那么就不需要定义返回值如果有返回值则需要在定义方法时定义返回值和类型。#无返回值无返回值要加关键字void,不用加关键字return#有返回值。
2023-09-03 17:18:11
340
原创 nginx-反向代理缓存
nginx反向代理缓存会将上游服务器缓存到本地的文件名称通过md5算法改变名称,打开文件可以看到加密转换前的文件名称。将上游服务器的资源缓存到nginx本地,当下次再有相同的资源请求时,直接讲nginx缓存的资源返回给客户端。本地缓存资源有一个过期时间,当超过过期时间,则重新向上游服务器重新请求获取资源。这样减轻了上游服务器的资源请求负载。反向代理缓存相当于自动化动静分离。在location模块配置。
2023-09-03 15:11:40
802
原创 nginx-缓存
disk cache:磁盘缓存数据,有时间延迟,但是非常小,相对于直接请求服务器返回 对于用户来说基本无感知。memory cache:磁盘缓存数据,基本上没有时间延迟。
2023-09-02 17:10:39
2122
原创 nginx-concat
为了减少tcp请求数量,nginx从上有服务器获取多个静态资源(css,js)的时候,将多个静态资源合并成一个返回给客户端。这种前面有两个问号的请求都是用了cancat合并功能。先到官网下载安装包,拷贝到服务器编译安装。
2023-08-29 21:32:47
260
原创 nginx-获取客户端IP地址
nginx代理服务器设置X-Forwarded-For的header参数,代理服务器通过remote_addr获取客户端ip地址,将ip地址写入nginx代理服务器的X-Forwarded-For中, 上游服务端通过在nginx的这个参数拿到客户端IP地址。上有服务器与客户端中间是有nginx代理服务器的,上游服务器如何获取客户端真实ip地址?
2023-08-27 18:19:19
741
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人