Redis数据持久化方式RDB和AOF的区别
Redis官方提供了两种数据持久化的方式,分别是:RDB和AOF。今天我们来讨论一下这两种持久化方式的区别。 RDB 基本原理:RDB持久化主要是通过SAVE和BGSAVE两个命令对Redis数据库中当前的数据做snapshot并生成rdb...
Redis官方提供了两种数据持久化的方式,分别是:RDB和AOF。今天我们来讨论一下这两种持久化方式的区别。 RDB 基本原理:RDB持久化主要是通过SAVE和BGSAVE两个命令对Redis数据库中当前的数据做snapshot并生成rdb...
Redis一共支持5种数据结构,hash是其中的一种,在hash扩容的时候采用的是渐进式rehash的方式。要想深入理解渐进式rehash,首先要了解以下Redis中hash的数据结构。 哈希表节点 typedef struct dictE...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
Key的过期策略 Redis的Key有3种过期删除策略,具体如下: 1. 定时删除 原理:在设置键的过期时间的同时,创建一个定时器(timer),让定时器在键的过期时间来临时,立即执行对键的删除操作 优点:能够很及时的删除过期的Key,能够...
Redis中的每个对象都由一个redisObject结构表示,该结构中和保存数据有关的三个属性分别是type、encoding和ptr: typedef struct redisObject { unsigned type:4; // 类型...
无锁 无锁是指线程通过无限循环来执行更新操作,如果执行成功就退出循环,如果执行失败(有其他线程更新了值),则继续执行,直到成功为止。CAS操作就属于无锁。如果从性能的角度来看,无锁状态的性能是非常高的。 自旋锁 自旋锁是一种通过让线程不释放...
最近阅读了《Java并发编程实践》这本书,总结了一下几个相关的知识点。 线程安全 当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么...
Integer和Long的java中使用特别广泛,本人主要一下Integer.toString(int i)和Long.toString(long i)方法,其他方法都比较容易理解。 Integer.toString(int i)和Long...
Tomcat其实就是一个容器,最顶层的容器叫Server,代表整个服务器,Server中包含至少一个Service,用于具体提供服务。Service主要包含两部分:Connector和Container。一个Service只有一个Conta...
一、运行环境 以下所有的描述都是基于Activiti的5.20.0.1版本 public interface ProcessEngine extends EngineServices { /** the version of the act...
最常用的HotSpot VM垃圾收集器是分代垃圾收集。该方案是基于两个观察事实。 大多数分配对象的存活时间很短。 存活时间久的对象很少引用存活时间短的对象。 上述两个观察事实统称为弱分代假设(Weak Generational Hypoth...