Loading

摘要: 集群 为什么需要切片集群 已经有了管理主从集群的哨兵,为什么还需要推出切片集群呢?我认为有两个比较重要的原因: 当 Redis 上的数据一直累积的话,Redis 占用的内存会越来越大,如果开启了持久化功能或者主从同步功能,Redis fork 子进程来生成 RDB 文件的时候阻塞主线程的概率会大大增 阅读全文
posted @ 2022-09-13 15:07 LooJee 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 为什么需要哨兵 在 Redis 的主从库模式中,如果从库发生了故障,用户的操作是可以继续进行的,因为写操作是只在主库中进行的。那么,如果主库发生了故障,用户的操作将会收到影响。这时候可能会需要选择一个从库在作为主库继续服务用户的操作。Redis 提供的哨兵机制就是解决主从库模式的 Redis 服务可 阅读全文
posted @ 2022-08-11 14:05 LooJee 阅读(786) 评论(0) 推荐(2) 编辑
摘要: 主从库集群 Redis 提供了主从库模式,以保证数据副本的一致,在从库执行一下命令可以建立主从库关系: replicaof <dst ip> <dst port> Redis 的主从库之间采用的是读写分离的方式: 读操作:主库、从库都可以接收; 写操作:到主库执行,然后将写操作同步给从库。 写操作只 阅读全文
posted @ 2022-08-05 14:01 LooJee 阅读(516) 评论(1) 推荐(0) 编辑
摘要: Redis 的数据持久化机制 Redis 的持久化主要有两大机制:AOF(Append Only File) 日志和 RDB 快照。 AOF AOF 记录 Redis 的操作日志,它是在主线程中执行的。AOF 和数据库的写前日志(Write Ahead Log, WAL)不同,WAL 是在执行命令前 阅读全文
posted @ 2022-08-03 21:18 LooJee 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 这次介绍的设计模式是工厂模式,这是一个比较常见的创建型模式。一般情况下,工厂模式分为三种:简单工厂、工厂方法和抽象工厂,下面慢慢举例介绍下。 简单工厂 考虑一个加密程序的应用场景,一个加密程序可能提供了AES,DES等加密方法,这些加密方式都实现了同一个接口ICipher,它有两个方法分别是 Enc 阅读全文
posted @ 2021-03-29 17:12 LooJee 阅读(453) 评论(1) 推荐(1) 编辑
摘要: 定义 一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例模式。当某些数据只需要在系统中保留一份的时候,可以选择使用单例模式。 饿汉式 饿汉式的实现方式比较简单。在类加载的时候,静态实例就已经创建并初始化好了,所以,实例的创建过程是线程安全的。如果实例占用资源多,按照 阅读全文
posted @ 2021-03-27 14:52 LooJee 阅读(43) 评论(0) 推荐(0) 编辑
摘要: TL;DR 是因为创建的容器采用的网络类型是 bridge,而宿主机没有启用 ip 转发,所以,外部主机请求没有转发到对应容器。需要两个步骤启用 ip 转发功能。(来自 Docker 官方文档 ) 配置 Linux 内核允许 ip 转发。 $ sysctl net.ipv4.conf.all.for 阅读全文
posted @ 2021-02-01 14:59 LooJee 阅读(98) 评论(0) 推荐(0) 编辑
摘要: redigo是golang的一个操作redis的第三方库,之所以选择这个库,是因为它的文档十分丰富,操作起来也比较简单。一个典型的redigo的使用如下所示: package main import ( "github.com/gomodule/redigo/redis" "log" ) func 阅读全文
posted @ 2020-12-04 09:08 LooJee 阅读(178) 评论(0) 推荐(0) 编辑