Redis内存爆炸排查与解决

Redis内存爆炸排查与解决

Redis内存爆炸排查与解决 1. 问题发现 今天公司的小程序产品出现异常了,无论请求都没有数据,然后我就去线上看日志,发现了如图日志: 我一看,大致意思就是Redis的RDB快照持久化失败,看到这,我立马反应过来,坏了,不会是线上Redis服务器的磁盘满了吧,于是立马执行命令: sudo df -

Lsyncd文件同步

Lsyncd文件同步 1. 什么是Lsyncd? GitHub地址:Lsyncd lsyncd (Live Syncing Daemon) 是一个轻量级的实时文件同步工具,它在后台运行,监视一个或多个本地目录树的变化。当检测到变化(如文件或目录的添加、修改、删除)时,lsyncd 会将这些变化聚合一

Lsyncd文件同步
RustDesk部署小记

RustDesk部署小记

RustDesk部署小记 1. 什么是RustDesk RustDesk 是一款开源的远程桌面控制软件,允许用户通过互联网或局域网远程访问和控制其他计算机。它类似于 TeamViewer、AnyDesk 、ToDesk、向日葵等商业远程桌面工具,但 RustDesk 强调隐私、安全和自托管能力,适合

Java基础面试题第三章

Java基础面试题 1. Java 中 final、finally 和 finalize 各有什么区别? 1.1 回答重点 final:用于修饰类、方法、和变量,主要用来设计不可变类、确保类的安全性、优化性能(编译器优化)。 类:被 final 修饰的类不能被继承。 方法:被 final 修饰的方法

Java基础面试题第三章
Java基础面试题第二章

Java基础面试题第二章

Java基础面试题 1. Java 中 hashCode 和 equals 方法是什么?它们与 == 操作符有什么区别? 1.1 回答重点 hashCode、equals 和 == 都是 Java 中用于比较对象的三种方式,但是它们的用途和实现还是有挺大区别的。 hashCode 用于散列存储结构中

Java基础面试题第一章

Java基础面试题 1. Java中的序列化和反序列化是什么? 1.1 回答重点 1.1.1 序列化 是将对象转换为字节流的过程,这样对象可以通过网络传输、持久化存储或者缓存。Java 提供了java.io.Serializable接口来支持序列化,只要类实现了这个接口,就可以将该类的对象进行序列化

Java基础面试题第一章
Web安全 - 点击劫持(Click Jacking)

Web安全 - 点击劫持(Click Jacking)

Web安全 - 点击劫持(Click Jacking) 1. 什么是点击劫持 点击劫持(Click Jacking)是一种Web安全攻击技术,攻击者通过视觉欺骗诱导用户在不知情的情况下点击被恶意操控的页面元素,从而执行非预期的操作。 攻击者使用一个透明的、不可见的ifiame,翻盖在一个网页上,然后

Java限流

Java - 限流 1. 为什么需要限流? 1.1 现实场景痛点 防止服务被大量请求压垮(如恶意攻击、突发流量) 保证系统稳定性(防止高并发时资源耗尽) 服务器资源耗尽(CPU/内存/连接数) 提高资源利用率(保证关键请求优先执行) 防止雪崩效应(避免一个节点过载导致系统崩溃) 1.2 限流的本质

Java限流
Web实时消息推送详解

Web实时消息推送详解

Web实时消息推送详解 1. 什么是消息推送 推送的场景比较多,比如有人关注我的公众号,这时我就会收到一条推送消息,以此来吸引我点击打开应用。 消息推送通常是指网站的运营工作等人员,通过某种工具对用户当前网页或移动设备 APP 进行的主动消息推送。 消息推送一般又分为 Web 端消息推送和移动端消息

异步神器 - CompletableFuture

异步神器 - CompletableFuture 1. Future接口以及它的局限性 我们都知道,Java中创建线程的方式主要有两种方式,继承Thread或者实现Runnable接口。但是这两种都是有一个共同的缺点,那就是都无法获取到线程执行的结果,也就是没有返回值。于是在JDK1.5 以后为了解

异步神器 - CompletableFuture