史禹的博客

ShiYu Blog

Redis-主从复制

CAP原理 C - Consistent,一致性 A - Availablity,可用性 P - Partition tolerance,分区容忍性 分布式系统中,各个节点分布在不同机器上,相互之间是通过网络连接的,当网络断开时,导致节点之间无法通信,这种网络断开场景的专业名词交【网络分区】 CAP指的的当网络分区发生时,一致性和可用性只能保证一个。 最终一致 Redis的主从同步是异步......

PubSub-Redis的消息多播

Redis5种基本类型无法支持消息多播,它单独提供了一个模块来支持消息多播,这个模块就是PubSub,也就是PublisherSubscriber(发布者订阅者模型)。 基本使用 启动一个消费者,开启订阅; 1subscribe test //订阅test队列 启动一个生产者,推送消息。 1publish test message1 致命问题o(╥﹏╥)o PubSub生产者p......

RESP(redis通信协议)

RESP (Redis Serialization Protocol) resp是redis客户端和服务端的通讯协议,容易实现,解析快,作者认为数据库系统瓶颈不在于网络流量,而是在数据库自身内部的逻辑处理上,所以设计出这种易解析,确有大量冗余信息的文本协议。 Redis协议将传输氛围5中最小单元类型: 单行字符串,以 +符号 开头; 多行字符串,以$符号开头,后跟字符串长度; 整数值,以......

Redis应用梳理

应用 实现 简单限流 利用zset,score圈出时间窗口,统计时间窗口内同一个用户同一个行为出现的次数 漏斗限流 Redis-Cell,Redis4.0提供的限流模块,提供了原子的限流指令: cl.throttle key capacity actoin time quota 分布式锁 set key value ex time nx Redis2.8set支持指令扩......

阿里云ShadowSocks代理搭建

作为一只程序猿,平时找资料啥的自然要需要google,但是我们伟大的长城为了保护我们不受资本主义的毒害,把我们包围在了“和谐”的社会主义幸福圈中,虽然这个圈不是完全密封的,但是刚好把google挡住了,没办法,只好搭桥走路了。 环境准备 搭桥嘛,当然是选择能走最少的路到达目的地的路线来搭,社会主义幸福圈离我们最近的缝隙就是香港了,果断通过阿里云买了位于香港的服务器,阿里云香港地区入门型的......

设计模式之观察者模式

最近一段时间一直在和刚毕业时写的代码打交道,现在的自己看着以前写下的代码,简直是“目不忍视”了,很多代码糅合在一起,只考虑功能,丝毫没有考虑代码的美感。有以下场景: 系统中存在“资源”、“实体”、“字段”等几个概念,资源后面的几个对象都依赖资源的存在,如果资源被删除,就应该删除该资源下对应的实体、字段等 我之前的代码是在删除资源的方法里面写上删除字段、实体,然后用事务包装起来,这样写功能......

sublime Text3快捷键整理

选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。 Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名、函数名等。 Ctrl+L 选中整行,继续操作则继续选择下一行,效果和 Shift+↓ 效果一样。 Ctrl+Shift+L 先选中多行,再按下快捷键,会在每行行尾插入光标,即可同时编辑这些行。 Ct......

Maven引用自定义jar

场景 如果要使用的jar不存在于Maven的中央仓库中,或者自己创建了一个jar,另一个Maven项目需要使用,这里有两种方式可以解决该问题: 安装自定义jar到本地仓库中 假设要引用的本地一个名叫12345.jar的jar,可以执行以下命令: 1mvn install:install-file -Dfile=12345.jar -DgroupId=123456 -DartifactId=1......

随笔

你想的太多是因为读的书太少,立个FLAG,坚持3个月好吗?—2018.4.11 ...

设计模式之单例模式

应用场景 单例模式能保证一个类仅有一个实例,并提供一个访问它的全局访问点,主要用来解决一个全局使用的类频繁地创建与销毁问题,经典的应用场景有文件操作、数据库操作等。 实现 懒汉式 1234567891011public class Singleton{ private static Singleton ins; private Singleton(){ ......