最近要对看了生产环境的Redis配置文件,对redis的持久化比较感兴趣,于是整理了相关的内容,用来加深记忆。 Redis有两种持久化的方式:快照(RDB文件)和追加式文件(AOF文件): RDB持久化方式会在一个特定的间隔保存那个时间点的一个数据快照。 AOF持久化方式则会记录每一个服务器收到的写操作。在服务启动时,这些记录的操作会逐条执行从而重建出原来的数据。写操作命令记录的格式跟Redis协 … 继续阅读
分类目录归档:高并发
一致性哈希的Java实现
一致性哈希 借用维基百科的定义: consistent hashing is a special kind of hashing such that when a hash table is resized. In contrast, in most traditional hash tables, a change in the number of array slots causes near … 继续阅读
一致性哈希算法
一致性哈希算法 一致性哈希算法是一种分布式哈希(DHT)算法,设计目标是为了解决因特网中的热点(Hot spot)问题。一致性哈希算法是一种负载均衡算法。 一致性哈希的原理 环形Hash空间 按照常用的hash算法来将对应的key哈希到一个具有2^32次方个桶的空间中,即0~(2^32)-1的数字空间中。现在我们可以将这些数字头尾相连,想象成一个闭合的环形。 然后把数据通过一定的hash算法处理后 … 继续阅读
负载均衡算法
负载均衡 负载均衡,英文名称为Load Balance,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。负载均衡能够平均分配客户请求到服务器阵列,借此提供快速获取重要数据,解决大量并发访问服务问题,这种集群技 … 继续阅读
线程池
最近在看线程池以及池化相关的技术,整理了一些线程池相关的东西。 线程池 线程池(Thread Pool)是一种基于池化思想管理线程的工具,经常出现在多线程服务器中,如MySQL。 线程过多会带来额外的开销,其中包括创建销毁线程的开销、调度线程的开销等等,同时也降低了计算机的整体性能。线程池维护多个线程,等待监督管理者分配可并发执行的任务。这种做法,一方面避免了处理任务时创建销毁线程开销的代价,另一 … 继续阅读
序列化以及序列化协议
序列化 序列化(serialization、marshalling)的过程是指将数据结构或者对象的状态转换成可以存储(比如文件、内存)或者传输的格式(比如网络)。反向操作就是反序列化(deserialization、unmarshalling)的过程。 更直白一点: * 序列化: 将数据结构或对象转换成二进制串的过程 * 反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程 JS … 继续阅读