Redis 应用与原理(二)
持久化原理 持久化流程 Redis 是基于内存的数据库,数据存储在内存中,为了避免进程退出导致数据永久丢失,需要定期对内存中的数据以某种形式从内存呢保存到磁盘当中;当 Redis 重启时,利用持久化文件实现数据恢复。 Redis 的持久化主要有以下流程: 客户端向服务端发送写操作数据 数据库服务端接…
Redis 应用与原理(一)
缓存发展史 缓存经典场景 在没有引入缓存前,为了应对大量流量,一般采用: LVS 代理 Nginx 做负载均衡 搭建 Tomcat 集群 这种方式下,随着访问量的增大,响应力越差,逐渐无法满足用户体验。 在引入缓存后: 三大经典缓存读写策略 旁路缓存模式:Cache Aside Pattern 写:…
ZooKeeper 高级应用
概述 ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册,在架构上,通过冗余服务实现高可用性(CP)。 ZooKeeper 的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单…
浅谈互联网架构演变
前言 可以将某个项目或产品的架构体系按照如下方式分层: 业务层面:项目业务体系 技术层面: 数据架构:数据持久层策略 应用架构:应用层的实现方式 部署架构:部署方式,自动化持续集成等策略 针对每一层也随着时间的变化而变化。 业务架构 单体模式 早期的互联网产品多为单体系统,特点是以业务为导向,往往形…
快速上手 Mac 电脑
触摸板操作 打开系统偏好设置-触控板选项查看学习常用操作 双指触控实现鼠标右键功能 建议打开轻点来点按,和 win 操作相同 系统偏好设置-辅助功能-指针控制-触控板选项-启用拖移-三指拖移:单手三指拖移文件 文本/文件操作 对于文本: 全选:command + a 复制:command + c 粘…
河南工程学院第六届程序设计竞赛-A组-题解
远古时期的签到题 原题链接 描述: 远古时期奇妙的事情...... 远古时期有一个比赛,里面有这样一道签到题: 给定一个正整数 $N$ 求这个整数转化为二进制后的数有多少位是 $0$。 输入格式: 共一行,一个正整数 $N$。 输出格式: 共一行,一个整数,表示 $N$ 转化为二进制后数位是 $0$…
Neo4j 与 Cypher 基础
简介 Neo4j 是用 Java 实现的开源 NoSQL 图数据库。从2003年开始开发,2007年正式发布第一版,其源码托管于 GitHub。 与常见的关系型数据库不同,Neo4j 基于图图结构来表示和存储数据,并提供了申明式的查询语言 Cypher 来处理图数据。Neo4j 实现了专业数据库级别…
创建线程的方式打开记事本
创建线程的方式打开记事本 今天操作系统课老师讲到进程,提出了一个有趣的小实验:能否以系统调用的方式利用 Windows 创建进程的系统调用函数来打开一个软件。闲着蛋疼的我立马来了兴趣,姑且写一个玩玩( 头文件 <windows.h>:包含了 Windows API 的核心功能。 <…