线程 架构 原因redis
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 ......
基于AHB_BUS的eFlash控制器的微架构设计
eFlash微架构设计 1.回顾架构设计 2.Flash时序仿真 2.1 ahb_flashc项目目录 docs rtl sim tb model 2.2 docs 架构设计文档 微架构设计文档 集成需求文档 DataSheet 2.3 model model文件夹下放的是一些仿真模型(Flash的 ......
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 ......
Redis系列12:Redis 的事务机制
Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5:深入分析Cluster 集群模式 追求性能极致:Redis6.0的多线程模型 追求性能极致:客户端缓 ......
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 节点,通过互相协 ......
Redis 数据库的主从复制
1. 主从复制 1.1 什么是主从复制 主从复制,是将多台数据库服务器分为主节点(master)和从节点(slaver),主节点数据更新后会根据配置和策略,自动同步到从节点上,从而保证主从节点中存有相同的数据。 1.2 主从复制的作用 有了主从复制,数据可以有多份副本,这就带来了很多好处: (1)提 ......
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 什么是发布和订阅 发布订阅模式是一种应用程序(系统)之间通讯、传递数据的技术手段,特别是在异构(不同语言)系统之间作用非常明显,可以实现应用(系统)之间的解耦合。 发布订阅是一对多的关系,需要有信息的发布者和消息的收听者。订阅者:对某个内容感兴趣,需要实时获取新的内容,只要关 ......
实时决策系统中 OpenMLDB 的常见架构整合方式
OpenMLDB 提供了一个线上线下一致性的实时特征计算平台。对于如何在实际业务系统中整合 OpenMLDB,构建完整的机器学习平台,OpenMLDB 提供了灵活的支持。本文关注基于 OpenMLDB,在企业级业务系统中使用的常见架构。我们主要关注存储和计算两个方面: 离在线数据存储架构:如何合理的 ......
Redis事务与Lua脚本
Redis的事务没办法保证一致性,使用Lua脚本也不能保证。Lua脚本能保证一致性,而且比redis的事务实习要简洁健壮。 转载:https://maimai.cn/article/detail?fid=1538576512&efid=SQ3XsywteU9lIxil766Lxw ......
Java:数据表的字段设计了默认值0不生效的原因
在数据表里给字段设置了默认值为0,但是在插入的时候不生效,数据表设计如下 通过数据表生成的实体类 查看代码 @Data @TableName(value = "user") @NoArgsConstructor @AllArgsConstructor public class UserEntity{ ......
Redis未授权访问Getshell
漏洞成因 有些redis绑在0.0.0.0:6379,没有开启验证或者没有设置对未知ip来源进行限制以及默认的空密码就导致了redis默认访问 但是这个普遍的漏洞极可能造成后门植入getshell,也可能造成反弹shell权限维持,甚至会造成ssh直接免密连接服务器 开始复现 搭建环境 服务器操作系 ......
SimpleAdmin手摸手教学之:项目架构设计2.0
一、说明 在SimpleAdmin1.0版本中,我将整体项目结构分为三大块,分别为架构核心、业务模块和应用服务。随着1.0版本的封版,回去再看我之前的项目架构,也暴露了一些问题,比如在1.0版本中,Signalr和Mqtt只能二选一,这显然是不科学的,因为这两种虽然都可以作为消息通知,但是显然可以有 ......
Redis 数据库的基本命令
1、帮助文档 redis 英文版命令大全:https://redis.io/commands redis 中文版命令大全:http://redisdoc.com/ 2、redis-benchmark.exe 性能测试 Redis 自带了一个 redis-benchmark 的工具,可以模拟 n 个客 ......
线程池
一、初始化线程的几种方式?1、继承Thread2、实现Runnable接口3、实现Callable接口+FutureTask(可以拿到返回结果,可以处理异常)4、创建线程池的方式。方式1和方式2:主线程无法获取线程的运算结果。方式3:主线程可以获取线程的运算结果,但是不利于控制服务器中的线程资源,可 ......
Windows下Redis数据库服务器的安装和启动
1、下载地址 官方下载: https://github.com/microsoftarchive/redis/releases ,可以根据需要下载不同版本。 2、Redis 服务器安装和启动 (1)将下载的 Redis 安装包解压,然后放到相应的路径下,如 d:\redis; (2)在Redis 安 ......
Redis支持的数据结构
Redis数据库提供了多种数据结构,其中最常见的数据结构有String(字符串)、List(表)、Set(集合)、Hash(散列)、Sorted Sets(有序集合)。 (1)String(字符串) String字符串是Redis中最基本也是最简单的数据结构,其值是二进制安全的,值的数据类型可以为数 ......
Redis概述
键值对存储数据库是NoSQL数据库的一种类型,也是最简单的NoSQL数据库。顾名思义,键值对存储数据库中的数据是以键值对的形 式 来 存 储 的 。 常 见 的 键 值 对 存 储 数 据 库 有 Redis 、TokyoCabinet/Tyrant、Voldemort以及Oracle BDB数据库 ......
记几次 [线上环境] Dubbo 线程池占满原因分析(第二次:CompletableFuture)
转载:https://blog.csdn.net/wsmalltiger/article/details/124236189 文章目录[线上环境] Dubbo 线程池占满原因排查系列前言一、问题分析1、分析日志2、定位原因二、解决方案三、总结前言 某天早上9点左右收到线上故障报警,超过3个商家反馈“ ......