- 博客(9)
- 收藏
- 关注
原创 统计用户在线时长(Redis、web-socket)
用户登陆后,写进REDIS用户标识和过期时间,比如设置expire_time为3分钟,则用户每次操作,都会进行续期,保证不过期,等用户3分钟内不进行操作,则服务端监听到过期键。3.部分浏览器版本,无法触发close事件,还需要重新做一套心跳机制,参靠方案一,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈。:用户调用登陆API后,持续向服务端发送心跳,向服务端告知自己健康。4.如果离线,调用 logout,并计算用户时长,将用户时长记录在。3.计算最后心跳时间和当前时间间隔,如果超过x分钟,则为离线。
2024-08-20 10:29:06 1878
原创 Linux下docker部署前后端分离项目
创建nginx的数据卷的这几个文件夹,用于宿主机和镜像映射。3-4-5代表把当前目录下的资源配置文件和jar文件放到镜像的spring目录下。后面的 “ . ”表示构建docker-compose.yml所有镜像。完成后,直接输入docker-compose build .把我们的jar复制到宿主机的/root/目录或其他目录下。以上包含程序所用所有镜像,若另有需要继续编写即可。编写docker-compose.yml。安装dockert-compose。第一行代表使用的镜像。
2024-08-12 16:03:29 523
原创 缓存穿透、缓存雪崩、缓存击穿
分析业务请求,如果是正常业务请求时发生缓存穿透现象,可针对相应的业务数据,在数据库查询不存在时,将其缓存为空值(null)或默认值。当然,除了上述方案,我们还可以限流、降级、熔断等服务层的措施,也可以考虑数据库层是否可以进行横向扩展,当缓存异常发生时,确保数据库能够抗住流量,不至于让整个系统崩溃。缓存雪崩是指只大量热点key同时失效的情况,如果是单个热点key,在不停的扛着大并发,在这个key失效的瞬间,持续的大并发请求就会击破缓存,直接请求到数据库,好像蛮力击穿一样。
2023-05-29 17:15:52 256 1
原创 jar包注册为windows服务自启
但在windows环境跑都是用cmd窗口跑,容易遇到服务器断电关闭后不能及时启动,或者人为误操作导致服务停止,为避免每次去手动启动麻烦的很,就想搞个windows服务,让它能后台运行,还可以开机自启。业务跑的Jar包,在linux上倒是好弄,直接用脚本后台运行,启动关闭也方便。WIN+R输入services.msc,就可以看到以xxx名字命名的服务。重命名为和xxx.jar包同名的xxx.exe、xxx.xml两份文件。将jar包做成exe服务,可以实现自启动的方式。环境安装,电脑需要安装。
2023-04-13 17:38:51 677 1
原创 mybatis三种批量插入方式
其次是foreach标签,foreach标签是通过拼接SQL语句的方式完成批量操作的。但是当拼接的SQL过多,导致SQL大小超过了MySQL服务器中max_allowed_packet变量的值时,会导致操作失败,抛出PacketTooBigException异常。最后是循环插入的方式,这种方式在数据量小的时候可以使用,在数据量大的情况下效率要低很多。
2023-04-03 14:52:04 3284 1
httpClient远程调用工具类
2024-08-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人