在上一篇文章《内存数据库解析与主流产品对比(二)》中,我们从数据组织和索引的角度介绍了内存数据库的特点和几款产品的技术实现。本文将继续解析内存数据库,从并发控制、持久化和查询处理的角度介绍几款技术,带来更多维度、更细致的内存数据库技术讨论。
分类:
数据库 时间:
2020-12-01 11:46:52
阅读次数:
7
nginx 简介 nginx概述 nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。 nginx 作为服务器 nginx作为负载均衡 ...
分类:
其他好文 时间:
2020-11-30 16:09:36
阅读次数:
9
简介 线程的优势: 发挥多处理器强大的能力 建模的简单性(为模型中的每种类型的任务都分配一个专门的线程) 异步事件的简化处理 响应更灵敏的用户界面 线程带来的风险 安全性问题 线程安全性可能是非常复杂的,在没有充分同步的情况下,多个线程中的操作执行顺序是不可预测的,甚至会产生奇怪的结果。 活跃性问题 ...
分类:
编程语言 时间:
2020-11-30 16:09:09
阅读次数:
11
1、并行:在一个时间点上 多个事件同时执行 2、并发:在一个时间段内 宏观上认为是多个事件都执行了 3、单核 CPU 在某一时刻上 只执行 一个路径 一个线程 我们看到的同时执行 其实就是并发 JAVA中 线程的调度模式 抢占式 4、进程 正在运行的程序 ,当一个程序开始运行,进入内存之后 就产生了 ...
分类:
编程语言 时间:
2020-11-27 10:52:34
阅读次数:
10
前面介绍了Go怎么样实现了Web工作模式的一个流程,这次,我们详细的剖析一下http包,看看它是怎么样实现整个过程的。 Go的http有两个核心功能:Conn、ServeMux Conn的goroutine 与我们一般编写的http服务器不同,Go为了实现高并发和高性能,使用了goroutines来 ...
分类:
Web程序 时间:
2020-11-26 15:11:30
阅读次数:
10
基于Redis实现分布式所得简单逻辑 最简单逻辑: //注入 StringRedisTemplate stringRedisTemplate //原理就是利用Redis set k v NX 指令(setIfAbsent方法), NX表示添加k v如果Redis不存在该k 多个并发请求同时访问 pu ...
分类:
其他好文 时间:
2020-11-26 15:06:25
阅读次数:
8
通常情况下缓存是用来减少后端压力,将压力尽可能的往前推,减少后端压力,提高网络并发延时! 1. 缓存常见类型 服务端缓存 代理缓存 客户端缓存 Nginx代理缓存原理 2. 缓存配置语法 proxy_cache配置语法: Syntax: proxy_cache zone | off; Default ...
分类:
其他好文 时间:
2020-11-26 14:39:22
阅读次数:
6
前言 在日常编码的过程中,我们经常会使用Thread.sleep、LockSupport.park()主动阻塞线程,或者使用synchronized和Object.wait来阻塞线程保证并发安全。此时我们会发现,对于Thread.sleep和Object.wait方法是会抛出InterruptedE ...
分类:
编程语言 时间:
2020-11-26 14:24:53
阅读次数:
7
package com.spinlock.spinlock.juc; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class Demo3 { publi ...
分类:
其他好文 时间:
2020-11-25 12:40:31
阅读次数:
5
你是否听到人们说过,异步 Python 代码比“普通(或同步)Python 代码更快?果真是那样吗? 1 “同步”和“异步”是什么意思? Web 应用程序通常要处理许多请求,这些请求在很短的时间段内来自不同的客户端。为避免处理延迟,必须考虑并行处理多个请求,这通常称为“并发”。 在本文中,我将继续使 ...
分类:
编程语言 时间:
2020-11-25 12:19:05
阅读次数:
5