哨兵 架构 模式redis

Java面试题 P23:Redis篇:redis分布式锁,是如何实现的?

单台服务器:加synchronlzed解决方案。 (1)采用Watch dag 给锁续期 (2)抢不到锁的线程会尝试等待 (3)所有的redis命令采用lua脚本,保证执行的原子性 ......
分布式 Redis redis Java P23

设计模式原则之:单一职责模式

对类来说的,即一个类应该只负责一项职责。如类A负责两个不同的职责,职责1,职责2。当职责1需求变更而改变A时,可能造成职责2智行错误,所以要将类A的粒度分解为A1,A2 错误的应用实例 package org.example.demo0; /** * @description: 单一职责原则 * @ ......
模式 设计模式 职责 原则

设计模式中的七大设计原则

设计模式的目的 编写软件过程中,程序员面领着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序,具有更好的 代码重用性(即:相同功能的代码,不用多次编写) 可读性(即:编码规范性,便于其他程序员的阅读和理解) 可扩展性(即:需要增加新的功能时,非常的方便, ......
设计模式 七大 原则 模式

Java面试题 P20:Redis篇:Redis做为缓存,数据的持久化是怎么做的?

Redis做为缓存,数据的持久化是怎么做的? 在Redis中提供了两种数据持久化的方式:1、RDB 2、AOF ......
Redis 缓存 数据 Java P20

Java面试题 P19:Redis篇:Redis做为缓存,mysql的数据如何与redis进行同步呢(双写一致)

双写一致性:当修改了数据库的数据也要同时更新缓存的数据,缓存和数据库的数据要保持一致。 共享锁:读锁代码 排他锁,写数据。读锁和写锁的值要一致。 MQ异步消息通知: ......
Redis 缓存 数据 mysql redis

Redis中的过期策略

# redis过期策略 **定时过期、惰性过期、定期过期** 问题:使用expire key 60,在key60s之后key就会过期,之后如何清除key ## 定时过期 每个设置过期时间的key都创建一个定时器,到时间就会对key进行清除。该策略可以立即清除过期key,对内存友好,但是需要消耗大量的 ......
策略 Redis

redis主从复制

## 1. 概念 指将一台Redis服务器的数据,复制到其它的Redis服务器。前者称为**主节点**(master),后者称为**从节点**(slave);数据的复制是**单向**的,只能由主节点到从节点。 ## 2. 配置步骤 1、在/etc/redis下面,将6379.conf拷贝两份,分别称 ......
主从 redis

Java面试题 P18:Redis篇:Redis使用场景-缓存-缓存雪崩

缓存雪崩:是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量的请求到达数据库,带来巨大压力。 ......
缓存 雪崩 Redis 场景 Java

boost asio多线程模式-IOThreadPool

今天给大家介绍asio多线程模式的第二种,之前我们介绍了IOServicePool的方式,一个IOServicePool开启n个线程和n个iocontext,每个线程内独立运行iocontext, 各个iocontext监听各自绑定的socket是否就绪,如果就绪就在各自线程里触发回调函数。为避免线 ......
线程 IOThreadPool 模式 boost asio

redis快-IO多路复用

[IO多路复用](https://www.cnblogs.com/yliunyue/p/17593921.html "IO多路复用") ## Redis中的IO多路复用 在Redis中,也使用了I/O多路复用来实现高效的网络通信。Redis是一个高性能的键值存储数据库,其主要通过使用非阻塞I/O和I ......
redis IO

Cilium系列-9-主机路由切换为基于 BPF 的模式

## 系列文章 * [Cilium 系列文章](https://ewhisper.cn/tags/Cilium/) ## 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, 可以进一步提 ......
路由 主机 模式 Cilium BPF

Redis proxy 组件之 Predixy

Predixy 是一款高性能全特征 redis 代理,支持 redis-sentinel 和 redis-cluster 组件特性: [Predixy 支持的功能](https://github.com/joyieldInc/predixy/blob/master/README_CN.md) 为什么 ......
组件 Predixy Redis proxy

架构第三次作业-20230723

1、安装containerd及CNI组件 2、使用基于nerdctl创建并管理容器 3、部署https的harbor服务器、 4、基于Alpine和Ubuntu作为基础镜像实现的业务镜像构建 5、基于docker-compose单机编排运行Nginx+Java APP+MySQL服务 扩展: 1、对 ......
架构 20230723

X86架构CPU下Ubuntu系统环境源码编译pytorch-gpu-2.0.1版本

本文操作步骤与 aarch64架构CPU下Ubuntu系统环境源码编译pytorch-gpu-2.0.1版本大致相同,只是CPU架构不同而已,因此这里只记录不同的地方。 重点: 一个个人心得,那就是要编译pytorch源码最好是选择docker环境,因为这种环境下配置比较纯净,一定要避免那种自己使用 ......
pytorch-gpu 架构 源码 pytorch 版本

Android 架构模式如何选择

Android架构模式飞速演进,目前已经有MVC、MVP、MVVM、MVI。到底哪一个才是自己业务场景最需要的,不深入理解的话是无法进行选择的。这篇文章就针对这些架构模式逐一解读。重点会介绍Compose为什么要结合MVI进行使用。希望知其然,然后找到适合自己业务的架构模式。 ......
架构 Android 模式

Linux Redis配置

Redis是一个开源的高性能键值对存储系统,具有快速、灵活和可扩展的特性。 它是一个基于内存的数据结构存储系统,可以用作数据库、缓存和消息代理。 Redis的一些主要特点和用途: 高性能:Redis数据存储在内存中,因此能够提供极快的读写操作。 它采用单线程模型和异步 I/O,避免了多线程的竞争和阻 ......
Linux Redis

Redis从入门到放弃(5):事务

## 1、事务的定义 Redis的事务提供了一种“将多个命令打包, 然后一次性、按顺序地执行”的机制。 redis事务的主要作用就是串联多个命令防止别的命令插队。 但是,事务并不具有传统数据库事务的特性,如回滚。 ## 2、事务命令 Redis中的事务可以通过以下命令来执行: * `MULTI`:用 ......
事务 Redis

redis monitor 监控说明

## 1、监视器 Redis监视器是用于监控或观察Redis服务器指令执行的一种特殊的客户端。创建Redis监视器的方式也很简单,启动一个客户端后,执行monitor指令,客户端将进入监视器状态。进入监视器状态的客户端将不再接受Redis指令输入,而称为了一个实时接受服务器指令执行信息的消费者。如下 ......
monitor redis

Spring中的设计模式详解

Spring 中的设计模式详解​ JDK 中用到了哪些设计模式?Spring 中用到了哪些设计模式?这两个问题,在面试中比较常见。我在网上搜索了一下关于 Spring 中设计模式的讲解几乎都是千篇一律,而且大部分都年代久远。所以,花了几天时间自己总结了一下,由于我的个人能力有限,文中如有任何错误各位 ......
设计模式 模式 Spring

python操作redis

#redis/relate # 一、python 连接 redis ## 1. 方式一 ```python import redis # 创建连接对象 r = redis.Redis(host='127.0.0.1', port=6379) r.set('name', 'zhangsan') pri ......
python redis

redis常见的5中数据类型以及相关命令

#redis # redis 简介 - redis 是采用 ASNI C 语言编写的 - 采用的是 C/S 架构 - 是非关系型数据库 - 以键值对的形式存储在内存中 # redis 在 windows 中的启动命令 - `redis-server redis.windows.conf` - `re ......
命令 常见 类型 数据 redis

云计算未来趋势:无服务器架构

无服务器计算正改变着软件系统构建和运营的方式。尽管它是 IT 行业中一个相对较新的领域,但它可能会大大改变软件行业业务价值的交付方式。它可以使用可用和可扩展的云端负载来以较低的成本运行项目,这对许多产品类型和业务用例来说是一种理想的方式。 本文要点 许多组织仍在努力接纳 DevOps。无服务器架构并 ......
架构 趋势 服务器

redis做消息队列学习

转自:https://juejin.cn/post/7094272373930590245#heading-9,https://zhuanlan.zhihu.com/p/344269737 1、消息队列基本 作用:应用解耦(作为中介)、削峰填谷。redis做mq的优点:轻量级,使用和运维成本低。 m ......
队列 消息 redis

创建型设计模式:工厂方法、简单工厂、抽象工厂

## 1. 前言 设计模式,对于像java这种面向对象的语言来说,个人感觉是比较重要的。尤其在构建大型项目,设计模式的优点不言而喻。那么设计模式是什么?解决了软件工程中的什么问题?要想学一门东西,学一个知识点,我觉得首先得了解这个东西(知识、技术)它解决了什么问题,如果没有这门技术,那之前的做法是什 ......
工厂 设计模式 模式 方法

Java面试题 P17:Redis篇:Redis使用场景-缓存-缓存穿透

什么是缓存击穿:给某一个key设置了过期时间,当key过期的时候,恰好这时间点对这个key有大量的并发请求过来,这些并发的请求可能会瞬间把数据库压垮。 互斥锁代码: 1 private final ReadWriteLock readWriteLock=new ReentrantReadWriteL ......
缓存 Redis 场景 Java P17

4_MyBatis传统DAO模式开发

# 4_MyBatis传统DAO模式开发 普通模式,也称为传统DAO模式,就是在传统DAO模式下,定义接口和实现类,如 interface EmpDao class EmpDaoImpl implements EmpDao. 在实现类中,用SQLSession对象调用select insert de ......
传统 MyBatis 模式 DAO

浅析访问者模式

[toc] # 0. 前言 在阅读 `Kubernetes: kubectl` 源码时看到有关访问者设计模式的运用。访问者模式是行为型设计模式的一种,本篇文章将对访问者模式做一个介绍。 # 1. 访问者模式 ## 1.1 示例 首先,给出一个比较粗糙的示例。 当男人成功时,显示`我有一个好老婆`;当 ......
访问者 模式

Vscode的portable模式

下载zip解压包版本vscode,解压完成后创建与vscode.exe同级data目录。 解决扩展默认安装在系统盘用户名下导致C盘臃肿的问题。 ......
portable 模式 Vscode