写在前面为博客添加音乐播放器功能,网上有很多种方式,也有很多插件可以用,比如aplayer、dplayer等等。部署方式既可以使用hexo插件,也可以通过提取dist文件的方式。 本人为自己的播放选择的aplayer播放器,一开始是使用hexo插件的方式,但是部署的时候一直报标签解析的错误,查了好久 ...
分布式学习-一致性Hash算法
示例引入比如现在有 N 个 Redis 服务器,不考虑使用Redis Cluster的情况下,那么如何将一个对象 object 映射到 N 个 Redis 上呢? 你很可能会采用类似下面的通用方法计算 object 的 hash 值,然后均匀的映射到到 N 个 cache: 求余算法: hash( ...
手写RPC-NIO学习
概述NIO是Java1.4推出的一种全新的IO模型,全称是java non-blocking IO,提供ByteBuffer等缓存的容器,达到非阻塞式的高伸缩性网络。 IO模型IO模型是机器进行IO具体操作方法的一种抽象,每种IO模型都有各自的优缺点,需要注意的是要完成各模型的实际开发需要操作系统的 ...
Redis知识点学习
Redis 简介Redis本质上是一个Key-Value类型的内存数据库,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。 因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。可用于缓 ...
手写RPC--简易版
之前在网上看很多公司在面试的时候都会问到Dubbo等一些RPC框架,更有甚者直接要求面试者手写PRC,今天就来撩下RPC。 什么是RPCRPC(Remote Procedure Call),远程过程调用,意思是可以在一台机器上调用远程的服务。在非分布式环境下,我们的程序调用服务都是本地调用,但是随着 ...
Hexo搭建博客常见问题
No Layout:index.html问题描述最近对Hexo以及Next主题做了升级,升级之后在执行hexo g编译时出现了No layout:index.html的错误,如下图: 解决思路 查看hexo插件安装情况,因内容较多,只部分截图: npm ls --depth 0 hexo的 ...
数据库、缓存不一致问题
概述只要用缓存,就可能会涉及到缓存与数据库双存储双写,只要是双写,就一定会有数据一致性问题,如何保证缓存与数据库的双写一致性? 读写串行化一般来说,如果允许缓存可以稍微跟数据库偶尔有不一致,也就是说系统不是严格要求缓存+数据库必须保持一致性的话,可以采用读写请求串行化:即读请求和写请求串到一个内存队 ...
面试案例-每秒上千订单场景,如何优化分布式锁的并发能力
场景引入假如下单时,用分布式锁来防止库存超卖,但是是每秒上千订单的高并发场景,如何对分布式锁进行高并发优化来应对这个场景? 库存超卖怎么产生的先看下如果不用分布式锁,所谓的电商库存超卖是啥意思?如下图: 假设订单系统部署两台机器上,不同的用户都要同时买10台iphone,分别发了一个请求给订单系统 ...
Hexo搭建GitHub博客(持续更新)
入门Hexo由于平时自己喜欢看一些技术类文章整理成Word笔记,总感觉这种方式太low,想自己搭建属于自己的博客,在网上查阅了一下,发现Hexo在GitHub或者是码云上搭建博客非常给力。然后自己也搭建了博客,这篇文章就记录了搭建的过程及一些优化。 什么是HexoHexo 是一个快速、简洁且高效的博 ...