-
Redis 删除 key用 del 和 unlink 有啥区别?2023/05/29
问题del 和 unlink 有啥区别啊?为什么String类型删除不会做异步删除?回答DEL 和 UNLINK 都是同步的释放 key 对象,区别是怎么释放后面的 value 对象DEL 每次都是同步释放 value 部分,如果 value 很大,例如一个 list 里很多元素,这会阻塞 Redis 工作线程。为了规......
-
Java字节码,你还可以搲的更深一些!2023/05/22
Java真的是长盛不衰,拥有顽强的生命力。其中,字节码机制功不可没。字节码,就像是 Linux 的 ELF。有了它,JVM直接摇身一变,变成了类似操作系统的东西。要学习字节码,不能仅仅靠看枯燥的文档。本文会介绍几个有用的工具,可以非常容易的上手,来实际观测class文件这个小魔兽,助你搲的更深一些。1、字节码结构1.1......
-
号称 Redis Plus,来看看 KeyDB 性能有多炸裂!2023/05/15
KeyDB项目是从redis fork出来的分支。众所周知redis是一个单线程的kv内存存储系统,而KeyDB在100%兼容redis API的情况下将redis改造成多线程。项目git地址:https://github.com/JohnSully/KeyDB网上公开的技术细节比较少,本文基本是通过阅读源码总结出来的......
-
分库分表,可能真的要退出历史舞台了!2023/05/08
即使是不懂编程的玩家,在对比 NAS 的时候,也会两眼放光,考虑很多因素,比如 RAID 级别、速度、易用程度等。作为时时刻刻与代码打交道的我们,更需要关注数据的存取问题。一开始,开箱即用的 MySQL,一定是企业的首选。不仅仅因为用的人多,更重要的是生态成熟。要工具有工具,要人有人。对于老板来说,员工看着不爽,可以随......
-
Linux 的 TCP 连接数量最大不能超过 65535?那服务器是如何应对百万千万的并发的?2023/04/17
最大并发tcp连接数是多少呢?首先,问题中描述的65535个连接指的是客户端连接数的限制。在tcp应用中,server事先在某个固定端口监听,client主动发起连接,经过三次握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少呢?如何标识一个TCP连接在确定最大连接数之前,先来看看系统如何标识一个tcp连接......
-
Nginx 从安装到高可用,一篇搞定!2023/04/10
一、Nginx安装1、去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本2、上传nginx到linux系统3、安装依赖环境(1)安装gcc环境yum install gcc-c++(2)安装PCRE库,用于解析正则表达式yum install -y pcre pcre-devel(3)zl......
-
操作系统是如何启动起来的?2023/04/03
操作系统被称为“第一个程序”,the first programme,原因很简单,只有当操作系统启动起来后才能运行我们编写的程序,那么你有没有想过这个问题:操作系统是怎样启动起来的呢?实际上这个过程就像发射火箭一样有趣,看完这篇你就明白啦。操作系统也是普通程序哦对了,顺便说下,小风哥建了一个微信技术群,感兴趣的同学可以......
-
关于 Spring 中事务的嵌套,你了解多少?2023/03/27
Spring事务的的详细理解,事务嵌套解析,以及事务失效的场景解惑想要了解Spring的事务嵌套,我们先了解一下Spring的七种事务传播属性各自表示的意思propagation_requierd:如果当前没有事务,就新建一个事务,如果已存在一个事务中,加入到这个事务中,这是最常见的选择。propagation_sup......
-
内存耗尽后Redis会发生什么?2023/03/20
作为一台服务器来说,内存并不是无限的,所以总会存在内存耗尽的情况,那么当 Redis 服务器的内存耗尽后,如果继续执行请求命令,Redis 会如何处理呢?内存回收使用Redis 服务时,很多情况下某些键值对只会在特定的时间内有效,为了防止这种类型的数据一直占有内存,我们可以给键值对设置有效期。Redis 中可以通过 4......
-
切记,任何时候都不要在 for 循环中删除 List 集合元素!!!2023/03/13
前言首先说结论:无论什么场景,都不要对List使用for循环的同时,删除List集合元素,因为这么做就是不对的。阿里开发手册也明确说明禁止使用foreach删除、增加List元素。正确删除元素的方式是使用迭代器(Iterator),代码如下:List<String> list = new ArrayList......