reactor模式redis线程
redis主从同步、哨兵自动故障迁移具体过程解析
前言 本问阐述 Redis 主从同步、哨兵监控和故障迁移的过程,并通过各个服务日志加以验证。 准备工作 主从和哨兵安装见 安装过程。 为了方便通过日志观察同步过程,你可以在每个 Redis 和 Sentinel 配置文件中修改下面参数,实现前台运行并将日志输出到控制台。 # 这两个配置是为了实现前台 ......
RedisTemplate Pipeline 封装和使用,优化Redis操作
前言 公司游戏项目服务端运行过程中,依赖 Redis 保存游戏过程数据。与客户端一次交互会对 Redis 进行大量的操作,在内网开发环境下测试,一次操作开销在 1-2 ms,建立连接和网络开销累积在一起大大降低了响应速度,这种场景下可以使用 Redis Pipeline 进行优化。 Redis Pi ......
Redis各种数据分片方式应用场景以及优缺点
前言 数据分片是指将数据按某种方式存储到不同的服务上来解决单机服务容量不足的问题。 本文围绕 Redis 讲述逻辑拆分、随机分配、哈希取模、一致性哈希等分片算法原理和使用场景。并在此基础上对比客户端分片、代理(Proxy) 和 Redis Cluster 各自的优缺点。 客户端分片 三种普通方式 逻 ......
Redis 在排行榜中的应用
1.Redis 的 Sorted Set 数据类型 1.1 Sorted Set 数据类型的特点 Sorted Set 有序集合是 Redis 提供的一种重要的数据类型。它是由不重复且有序的字符串元素组成的,而且每个元素都会关联一个 double 类型的分数,通过该分数来为集合中的成员进行从小到大的 ......
Redis持久化RDB和AOF原理解析、使用和优缺点对比
前言 本文讲述 Redis 两种持久化方式 RDB 和 AOF 优缺点以及原理。 为何需要持久化? Redis 是基于内存操作的,进程终止、服务器宕机后内存数据会丢失,但是在很多使用场景中我们希望数据不丢失,服务重启之后数据还能恢复到停机前的状态,特别是使用 Redis 做数据库的情况。 Redis ......
Redis布隆过滤器的原理和安装使用
前言 本文讲述布隆过滤器 (RedisBloom) 的基本原理和安装使用。 RedisBloom是什么? RedisBloom 是 Redis 中过滤器模块,可以用来判断值是否存在,常用来解决缓存穿透问题。 查询数据时,先用 RedisBloom 判断数据是否存在,不存在则直接返回,存在则从缓存 / ......
Redis 在身份认证中的应用
1.Redis 在 Session 共享问题中的应用 传统 Session-Cookeis 身份认证方法中,一个 Session 只保存在一台服务器上,适合域单体应用。随着项目规模的增加,项目的架构也不断向微服务分布式集群演进,传统的 Session-Cookie 方式在集群环境下就不能很好的工作了 ......
2021-12-30-Docker启动MySQL、MongoDB、Redis、Elasticsearch、Grafana,数据库
layout: post cid: 5 title: Docker启动MySQL、MongoDB、Redis、Elasticsearch、Grafana,数据库 slug: 5 date: 2021/12/30 16:57:00 updated: 2022/03/25 15:53:08 status ......
IOS多线程之NSOperation(2)
IOS多线程之NSOperation(2) 最大并发数 open var maxConcurrentOperationCount: Int 并发数就是同时执行的任务数。比如,同时开3个线程执行3个任务,并发数就是3。 但是,并发数是3,并不代表开启的线程数就是3,也有可能是4个或者5个。因为线程有可 ......
IOS多线程之NSOperation(3)
IOS多线程之NSOperation(3) 操作优先级和服务质量 可以通过QueuePriority属性来设置operation在队列中的执行优先级 public enum QueuePriority : Int, @unchecked Sendable { case veryLow = -8 ca ......
Redis 缓存机制
1.Redis 缓存 缓存(cache),原始意义是指访问速度比一般随机存取存储器(RAM)快的一种高速存储器,通常它不像系统主存那样使用 DRAM 技术,而使用昂贵但较快速的 SRAM 技术。缓存的设置是所有现代计算机系统发挥高性能的重要因素之一。 Redis 因读写性能较高,它非常适合作为存贮数 ......
在Linux部署Redis主从和哨兵集群实现高可用
前言 本文主要讲述在 Linux 系统中配置和部署 Redis 主从集群和哨兵,实现高可用和自动故障迁移。 准备工作 参考 Redis 单机部署 安装 3 个 Redis 服务作一主二从,本文准备了 6380(主)、6381(从) 和 6382(从)。 参考 Redis 单机部署 安装 3 个 Re ......
在Linux部署Redis代理Twemproxy实现数据分片
前言 本文主要讲述 Redis 代理 Twemproxy 安装过程。 Twemproxy 是推特开源用于 Memcached 和 Redis 的轻量级代理。这里以0.5.0版本为例。 我们可以通过取模、随机、一致性哈希等算法将数据分散在多个 Redis 服务来实现水平扩展。但是客户端直连就需要跟每个 ......
在Linux部署Redis Cluster集群
前言 本文讲述在 Linux 系统部署 Redis Cluster 实现数据分片的具体步骤。 请参考 Redis 单机部署 下载编译。 Redis Cluster是什么? Redis Cluster 是官方提供的一种用数据分片来实现横向扩容的解决方案,由一个或多个 Redis 服务组成一个无主集群。 ......
在Linux部署Redis代理Predixy实现数据分片
前言 本文以predixy-1.0.5为例,讲述 Redis 代理 Predixy 安装过程。 Predixy 是一款高性能全特征 Redis 代理,支持 Redis-sentinel 和 Redis-cluster。作者拿其它常用代理做了 性能测评,Predixy 在各个维度性能都是最优的,与其他 ......
Redis——(主从复制、哨兵模式、集群)的部署及搭建
重点: 主从复制:主从复制是高可用redis的基础,主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。 哨兵和集群都是在主从复制基础上实现高可用的。 缺点:故障恢复无法自动化,写操作无法负载均衡,存储能力受到单机的限制。 哨兵:在主从复制的基础上,哨兵实现了自动化的故障恢复 ......
在Linux部署单机Redis完整过程
前言 本文以redis-6.2.5为例,讲述在 Linux 系统下单机 Redis 下载、编译、打包、安装为服务、启动和访问的整个过程。 安装环境为 Linux CentOS 64,本文用的 7.5 版本. 下载编译目录在当前目录soft/redis下,最终服务可执行程序在/opt/soft/red ......
RabbitMQ 09 主题模式
主题模式 主题模式结构图: 主题模式实际上就是一种模糊匹配的模式,可以将routingKey以模糊匹配的方式去进行转发。 可以使用*或#来表示: *:任意的一个单词。 #:0个或多个单词。 定义配置类。 import org.springframework.amqp.core.Binding; im ......
Redis系列12:Redis 的事务机制
Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5:深入分析Cluster 集群模式 追求性能极致:Redis6.0的多线程模型 追求性能极致:客户端缓 ......
访问者模式
begin 2023年04月02日15:56:19 引子 悲观者往往正确,乐观者往往成功 定义 Represent an operation to be performed on the elements of an object structure. Visitor lets you define ......
Redis 的 Java 客户端
实际项目中,需要通过编程语言去访问并操作 Redis。Redis 官方提供了多种语言的客户端,具体可访问以下地址:https://redis.io/clients Java 语言访问 Redis,常用的 API 包括: (1)Jedis:一个很小但很健全的 redis 的 java 客户端,通过 J ......
IOS多线程之NSOperation(1)
IOS多线程之NSOperation(1) NSOperation 是 OC 语言中基于 GCD 的面向对象的封装; 提供了一些用 GCD 不好实现的功能; 线程的生命周期由系统自动管理。 NSOperation 需要和 NSOperationQueue 配合使用来实现多线程方案。单独使用 NSOp ......
Redis 数据库的哨兵模式
1. 哨兵模式 1.1 哨兵模式的结构和作用 哨兵(Sentinel)是 Redis 官方提供的一种高可用方案,它可以监控多个 Redis 服务实例的运行情况。本质上,Sentinel 也是一个运行在特殊模式下的 Redis 服务器。主从复制模式下,一般会配置多个 Sentinel 节点,通过互相协 ......
设计模式六大原则
转载自https://www.cnblogs.com/huansky/p/13700861.html 引言 对于设计模式,自己很早之前就看了好多本设计模式书籍,其中一些还看了好几遍,也一直希望自己能在编码的时候把这些设计模式用上去。可是,在日常的打码中,用的做多的就是单例,其次是观察者和建造者模式 ......
Redis 数据库的主从复制
1. 主从复制 1.1 什么是主从复制 主从复制,是将多台数据库服务器分为主节点(master)和从节点(slaver),主节点数据更新后会根据配置和策略,自动同步到从节点上,从而保证主从节点中存有相同的数据。 1.2 主从复制的作用 有了主从复制,数据可以有多份副本,这就带来了很多好处: (1)提 ......
rx 模式
![](https://img2023.cnblogs.com/blog/859364/202304/859364-20230405133618909-750078342.png) ![](https://img2023.cnblogs.com/blog/859364/202304/859364-2... ......
Docker 下 Redis 数据库的持久化
1、Docker 容器的数据卷 Docker 是将系统与运行的环境打包成容器来运行,当容器删除后,容器里的系统自然也就没有了。但是,在实际的项目中,希望 Docker 容器产生的数据能够持久化,同时容器之间也能够共享数据。Docker 提供了数据卷技术来实现这些需求。 数据卷就是目录或文件,存在于一 ......
Redis 数据库的持久化
1、Redis 持久化 1.1 什么是持久化 持久化可以理解为数据的永久存储,就是将数据存储到一个不会丢失的地方。如果把数据放在内存中,电脑关闭或重启数据就会丢失,所以放在内存中的数据不是持久化的,而放在磁盘就是一种持久化。 1.2 Redis 的持久化 Redis 的数据存储在内存中,内存是瞬时的 ......
Redis 数据库的事务机制
1、Redis 事务机制 1.1 事务的定义 事务是指一系列操作数据库的步骤,这一系列的操作步骤,要么完全地执行,要么完全地不执行。 1.2 Redis 的事务 同样,Redis 中的事务也是一组命令的集合,至少是两个或两个以上的命令。Redis事务是一个单独的隔离操作,事务中的所有命令都会序列化、 ......
Redis的发布与订阅
1、发布与订阅 1.1 什么是发布和订阅 发布订阅模式是一种应用程序(系统)之间通讯、传递数据的技术手段,特别是在异构(不同语言)系统之间作用非常明显,可以实现应用(系统)之间的解耦合。 发布订阅是一对多的关系,需要有信息的发布者和消息的收听者。订阅者:对某个内容感兴趣,需要实时获取新的内容,只要关 ......