05 2022 档案
摘要:# 小结  # 布隆过滤器 工作原理: 布隆过滤器是一个由初值为0的长度为L的bit数组和N个哈希函数组成
阅读全文
摘要:扩容的思路 纵向扩展 scale up: 一台8G的变成一台24G的 :+1: 简单 :-1: 受硬件条件的限制 :-1: 单机容量大对性能的影响,如Redis的fork操作耗时是和内存数据量正相关的 横向扩展 scale out: 一台8G的变成3台8G的 :+1: 扩容灵活,不会增大单机的存储
阅读全文
摘要:> 数据库的发展总是从 单机 -> 主从 -> 分片集群 # Redis的主从复制 从单机到主从的根本优势在于: - 可实现读写分离,分摊读压力;某个从库用于做统计等后台功能 - 数据可靠,一份数据,多处拷贝,一台机器坏掉了,也不至于数据没了 - 服务可靠,主节点挂了不能写,可以从从节点选一个上来
阅读全文
摘要:# 持久化方式 因为Redis是内存操作,意味着掉电就GG, 所以为了保证异常重启等问题后能尽快恢复服务,还是需要一定的持久化机制来保证。Redis提供了两种持久化机制: - AOF Append Only File - RDS Redis Database ## AOF AOF文件记录的命令本身,
阅读全文
摘要:即便是单线程,Redis还是那么快? 一说到Redis的IO模型,就会说到Redis是“单线程”处理的。这里的单线程,主要是指网络IO和键值读写,也就是处理我们业务的基本请求是单线程的,但是Redis也存在一些如持久化,主从复制等是有多线程完成的。 网络IO Redis的网络IO采用的是多路复用机制
阅读全文
摘要:Redis key-value结构组织 首先,Redis使用了一个全局哈希表来保存所有的键值对。这个全局哈希表,也就是一个存放哈希桶(entry)的数组。Redis可以用哈希算法算出某个key的哈希值,直接取到这个数组这个位置的元素,也就是O(1)的读写。每个entry包含了两到三个部分,一个是*k
阅读全文
摘要:微服务设计模式 - circuit breaker circuit breaker 熔断器,在很多不同的领域都有这个定义,例如电路里面的熔断器,股票行业里面的熔断,当然我们这里的熔断指的是在计算机编程里面的,设计模式里的“熔断”。 简单的说,这就是一个状态机,然后状态机之间的转换逻辑;这个状态机有三
阅读全文
摘要:[作者:sczyh30](https://www.sczyh30.com/archives/) [java全栈知识体系](https://pdai.tech/) [microsoft cloud design pattern](https://docs.microsoft.com/en-us/azu
阅读全文
摘要:背景 项目使用到jieba分词,分词部分结果产品不满意,想过滤一些不重要的高频词汇;我们是使用的结巴分词java版。maven引入如下: <dependency> <groupId>com.huaban</groupId> <artifactId>jieba-analysis</artifactId
阅读全文
摘要:背景 项目需要使用mqtt协议建立长连接,我是客户端,需要连上服务端同学的提供的地址;客户端使用的是paho提供的客户端sdk,如下: <dependency> <groupId>org.eclipse.paho</groupId> <artifactId>org.eclipse.paho.clie
阅读全文
摘要:Unix IO模型 对于一个套接字上的输入操作,分为两步: 等待数据准备好(从网络中到达,到内核缓冲区) 将数据从内核缓冲区复制到应用进程缓冲区 I/O模型主要为以下五种: 阻塞I/O 非阻塞I/O I/O多路复用 信号驱动I/O 异步I/O 阻塞式I/O recvfrom - 系统调用,应用进程从
阅读全文
阅读目录(Content)
此页目录为空