哨兵 架构 模式redis

2023.24 聊聊软件架构设计

架构设计的本质是为了设计出一个满足业务需求、可维护、可扩展、可靠、安全的软件系统,并且在设计过程中考虑到可用性、性能和可测试性等重要特性。架构设计是软件开发中非常重要的一个环节,能够影响整个软件系统的质量和可维护性,要做好架构设计,要注意不要违反一些重要的设计原则。常见的架构设计原则如有:单一职责原 ......
架构 2023.24 软件 2023 24

MegEngine 动态执行引擎 Imperative Runtime 架构解析

在之前的[文章](https://zhuanlan.zhihu.com/p/635504419)中我们介绍过 `MegEngine` 的 `Imperative Runtime` 以及它与 `MegBrain`、`MegDNN` 的关系,这篇文章中我们将介绍 `Imperative` 中包含的常用组 ......
Imperative 架构 MegEngine Runtime 引擎

Redis--键值设计

Redis的key最好遵循如下规则设计: 1.遵循基本格式 :业务名称:数据名:ID 2.长度不超过44个字节 3.不包含特殊字符 优点: 1.可读性强 2.避免key冲突 3.方便管理 4.更节省内存:key是string类型,底层编码是int,embstr,raw三种,embstr在小于44个字 ......
Redis

SSM三层架构流程总结

1.搭环境webapp\WEB-INF\web.xml pom 里面激活webapp <packaging>war</packaging> 将pom坐标复制web.xml 复制进去配置文件resources 目录 引入 applicationContext.xml jdbc.propertieslo ......
架构 流程 SSM

申威3231服务器Redis性能验证-及最全信创CPU性能分析

# 申威3231服务器Redis性能验证-及最全信创CPU性能分析 ## 背景 ``` 公司里面新进了几台服务器. 有台申威服务器. 因为前段时间参与过一次申威的POC验证. 当时对性能有一点简单的理解. 但是因为不方便,没有测试更多. 这次有了一台实体机器,并且可以上网, 所以感觉可以方便的多了. ......
性能 性能分析 服务器 Redis 3231

Python设计模式-07-装饰模式

装饰模式是一种结构型设计模式,它允许我们动态地将行为添加到对象中,而不需要使用继承。装饰模式通常包括以下几个角色: - 抽象组件(Component):定义了一个接口,用于被装饰对象和装饰器共同实现。 - 具体组件(Concrete Component):实现了抽象组件定义的接口,并提供了默认的行为 ......
模式 设计模式 Python 07

Python设计模式-17-外观模式

外观模式是一种结构型设计模式,它为复杂的子系统提供了一个简单的接口,从而隐藏了子系统的复杂性。外观模式通常包括以下几个角色: - 外观(Facade):提供了一个简单的接口,用于访问子系统中的一组接口。 - 子系统(Subsystem):实现了子系统的功能,并处理外观对象指派的任务。 下面是一个简单 ......
模式 设计模式 外观 Python 17

Python设计模式-18-中介模式

中介模式是一种行为型设计模式,它允许对象之间通过一个中介对象进行通信,从而减少对象之间的直接耦合。中介模式通常包括以下几个角色: - 中介者(Mediator):定义了一个接口,用于与各个同事对象通信,并协调它们之间的交互。 - 具体中介者(Concrete Mediator):实现了中介者定义的接 ......
模式 设计模式 中介 Python 18

Python设计模式-21-解释模式

解释器模式是一种行为型设计模式,它定义了一种语言,用于解释和执行特定的任务。解释器模式通常包括以下几个角色: - 抽象表达式(Abstract Expression):定义了一个接口,用于解释和执行特定的任务。 - 终结符表达式(Terminal Expression):实现了抽象表达式定义的接口, ......
模式 设计模式 Python 21

Python设计模式-22-模板模式

模板模式是一种行为型设计模式,它定义了一个算法的骨架,将一些步骤延迟到子类中实现。模板模式通常包括以下几个角色: - 抽象类(Abstract Class):定义了一个算法的骨架,其中包含一些抽象方法,用于延迟到子类中实现。 - 具体类(Concrete Class):实现了抽象类定义的接口,并实现 ......
模式 设计模式 模板 Python 22

Python设计模式-20-迭代器模式

迭代器模式是一种行为型设计模式,它允许我们按照顺序访问一个聚合对象中的元素,而不需要暴露该对象的内部表示。迭代器模式通常包括以下几个角色: - 迭代器(Iterator):定义了一个接口,用于按照顺序访问聚合对象中的元素。 - 具体迭代器(Concrete Iterator):实现了迭代器定义的接口 ......
模式 设计模式 Python 20

Python设计模式-19-备忘录模式

备忘录模式是一种行为型设计模式,它允许我们在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。备忘录模式通常包括以下几个角色: - 发起人(Originator):定义了一个接口,用于创建备忘录对象和恢复对象状态。 - 备忘录(Memento):存储发起人对象的内部状态。 - ......
模式 设计模式 备忘录 Python 19

Python设计模式-12-状态模式

状态模式是一种行为型设计模式,它允许对象在内部状态发生改变时改变它的行为。状态模式通常包括以下几个角色: - 环境(Context):定义了客户端感兴趣的接口,并维护一个当前状态对象。 - 抽象状态(State):定义了一个接口,用于封装与环境的一个特定状态相关的行为。 - 具体状态(Concret ......
模式 设计模式 状态 Python 12

Python设计模式-12-策略模式

策略模式是一种行为型设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。策略模式通常包括以下几个角色: - 环境(Context):维护一个对策略对象的引用,并将客户端请求委托给当前策略对象。 - 抽象策略(Strategy):定义了一个接口,用于封装具体算法的实现。 - 具体策 ......
模式 设计模式 策略 Python 12

Python设计模式-16-命令模式

命令模式是一种行为型设计模式,它将请求封装成对象,从而允许我们将请求的发送者和接收者之间的耦合关系解耦。命令模式通常包括以下几个角色: - 命令(Command):定义了一个接口,用于封装具体命令的实现。 - 具体命令(Concrete Command):实现了命令定义的接口,并具体地实现了命令的逻 ......
模式 设计模式 命令 Python 16

Python设计模式-15-责任链模式

责任链模式是一种行为型设计模式,它允许多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。责任链模式通常包括以下几个角色: - 抽象处理者(Handler):定义了一个接口,用于处理请求,并维护一个对下一个处理者的引用。 - 具体处理者(Concrete Handler):实现了 ......
模式 设计模式 责任 Python 15

Python设计模式-10-享元模式

享元模式是一种结构型设计模式,它通过共享对象来减少内存使用和对象创建的数量。享元模式通常包括以下几个角色: - 享元工厂(Flyweight Factory):负责创建和管理享元对象。 - 享元(Flyweight):表示共享的对象,包含内部状态和外部状态。 - 内部状态(Intrinsic Sta ......
模式 设计模式 Python 10

Python设计模式-11-观察者模式

观察者模式是一种行为型设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,当主题对象发生变化时,它会自动通知所有观察者对象,使它们能够及时更新自己的状态。观察者模式通常包括以下几个角色: - 主题(Subject):定义了被观察的对象,可以有多个观察者监听它。 - 观察者 ......
模式 观察者 设计模式 Python 11

Python设计模式-06-代理模式

代理模式是一种结构型设计模式,它提供了一个代理对象来控制对另一个对象的访问。代理模式通常包括以下几个角色: - 抽象主题(Subject):定义了代理对象和真实对象的公共接口,可以是一个抽象类或接口。 - 真实主题(Real Subject):定义了代理对象所代表的真实对象。 - 代理(Proxy) ......
模式 设计模式 Python 06

Python设计模式-07-桥接模式

桥接模式是一种结构型设计模式,它将抽象部分和实现部分分离开来,使它们可以独立地变化。桥接模式通常包括以下几个角色: - 抽象部分(Abstraction):定义了抽象部分的接口,并持有一个实现部分的引用。 - 扩展抽象部分(Refined Abstraction):扩展了抽象部分的接口,可以包含一些 ......
模式 设计模式 Python 07

Python设计模式-08-组合模式

模式是一种结构型设计模式,它允许我们将对象组合成树形结构来表示“部分-整体”的层次结构。组合模式通常包括以下几个角色: - 组件(Component):定义了组合中所有对象的通用接口,可以是一个抽象类或接口。 - 叶子节点(Leaf):表示组合中的叶子节点,它没有子节点。 - 组合节点(Compos ......
模式 设计模式 Python 08

Python设计模式-09-外观模式

外观模式是一种结构型设计模式,它提供了一个简单的接口,隐藏了系统的复杂性,使得客户端可以更容易地使用系统。外观模式通常包括以下几个角色: - 外观(Facade):提供了一个简单的接口,隐藏了系统的复杂性,使得客户端可以更容易地使用系统。 - 子系统(Subsystem):实现了系统的功能,但对客户 ......
模式 设计模式 外观 Python 09

Redis

Redis 数据类型 字符串(string),hash(field-value),列表list,集合set,有序集合zset String string类型是二进制安全的。意味着redis的string可以包含任何数据。比如jpg图片或者序列化的对象。一个redis中字符串value最多可以是512 ......
Redis

Go Redis 管道和事务之 go-redis

# Go Redis 管道和事务之 go-redis ## [Go Redis 管道和事务官方文档介绍](https://redis.uptrace.dev/zh/guide/go-redis-pipelines.html) Redis pipelines(管道) 允许一次性发送多个命令来提高性能, ......
管道 go-redis 事务 Redis redis

Python设计模式-03-原型模式

原型模式是一种创建型设计模式,它通过复制现有对象来创建新对象,而不是通过实例化类来创建新对象。原型模式通常包括以下几个角色: - 原型(Prototype):定义了一个克隆自身的接口,用于复制现有对象。 - 具体原型(Concrete Prototype):实现了原型接口,负责复制自身。 - 客户端 ......
模式 设计模式 原型 Python 03

Python设计模式-04-单例模式

单例模式是一种创建型设计模式,它保证一个类只有一个实例,并提供一个全局访问点。单例模式通常包括以下几个角色: - 单例(Singleton):定义了一个静态方法或类方法,用于获取单例对象。 - 客户端(Client):使用单例对象来完成具体的操作。 下面是一个简单的 Python 示例,演示了如何使 ......
模式 设计模式 Python 04

Python设计模式-05-适配器模式

适配器模式是一种结构型设计模式,它可以将一个类的接口转换成客户端所期望的另一个接口。适配器模式通常包括以下几个角色: - 目标接口(Target):定义了客户端所期望的接口,可以是一个抽象类或接口。 - 适配器(Adapter):实现了目标接口,并持有一个被适配对象的引用,负责将客户端的请求转换成被 ......
模式 设计模式 适配器 Python 05

Python设计模式-02-建造者模式

建造者模式是一种创建型设计模式,它可以将一个复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通常包括以下几个角色: - 产品(Product):表示被构建的复杂对象,通常包含多个部分或组件。 - 抽象建造者(Builder):定义了创建产品的抽象接口,包括创建产品的各 ......
模式 设计模式 Python 02

redis学习十:数据类型命令及落地运用 (HyperLogLog)

需求:统计某个网站的UV,统计某个文章的UV(UV,unique visitor,独立访客,一般理解为客户端ip,需要去重考虑); 用户搜索网站关键词的数量(非同一个ip); 是什么:去重复统计功能的基数估计算法——HyperLogLog; 基数:是一种数据集去重后的真实个数————全集{1,2,3 ......
HyperLogLog 命令 类型 数据 redis

命令模式:命令也是类

命令模式是一种行为型设计模式,它允许将请求封装成对象,从而使您能够将不同的请求发送到队列或日志中,以及支持可撤销的操作。 > 示例代码 ```java //定义命令接口 public interface Command { void execute(); } //具体命令 public class ......
命令 模式