猿创征文 第二季| #「笔耕不辍」--生命不息,写作不止#

72 阅读3分钟

redis哨兵机制在这里插入图片描述

策略模式:热力图层数据中包括常住人口数据

策略模式:热力图层数据中包括常住人口数据、交通设施/丽人、餐饮、零售,写这种if语句太繁琐,现在单独提出一个策略接口,需要什么样的策略,执行什么样的策略。
比如餐饮,这个是否进入餐饮的策略类,实现公共策略方法,get数据,然后去执行具体业务在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

锁比较如图

安全性锁

在这里插入图片描述

Java设计模式

观察者模式
blog.csdn.net/CSDN2497242…
blog.csdn.net/to_real/art…

策略模式
www.jianshu.com/p/fec356f77…
www.php.cn/java-articl…
/*

  • 策略(Strategy)模式 关注:行为的选择

  • 封装了一系列策略对象,用户来选择使用哪种策略对象

  • 与简单工厂的区别:

  •  策略模式,传入策略对象给Context,由Context封装策略对象的方法调用,对外公开Context的方法接口
    
    
  •  简单工厂模式,传入一个简单参数,创建对象,然后调用出厂对象的方法
    
    
  • 与装饰模式的区别:

  •  很明显,Context无需实现(implements)业务接口,不需要增强已有的策略对象的功能
    
    
  • 策略模式多用在算法决策系统中, 比如工资结算

*/

redis工具类

springdataredis redisutil stringredistemplate
jedis(经典)
lettuce
redisson

java

Redis 的过期数据会被立马删除么?

blog.csdn.net/JACK_SUJAVA…

面向对象六原则一法则

单一职责原则:一个类只去做它的事情(高内聚:一个代码模块完成一项功能)
开闭原则:软件实体应当对扩展开放,对修改关闭
依赖倒转原则:面向接口编程
里氏替换原则:任何时候都可以用子类型替换父原则
接口隔离原则:接口小,专一
合成聚合复用原则:优先使用聚合或合成关系复用代码
迪米特法则:一个对象应该对其他对象尽可能少的了解(低耦合)

好用的开源sql可视化工具

dbeaver.io/

系统学习记录积累

线程池理解
spring源码
aop
微服务
分布式
rocketmq
redis

============================================================
分布式事务
缓存从上到下
钉钉通知、短信通知
aop
分布式锁
线程池
ElasticSearch
Spring
mybatis-plus
业务重点
rocketmq深度理解,异步 底层原理
redis理解二期
负载均衡(服务器压力)k8s
熔断(接口)


----rocketmq安装
业务重点
索引深度理解 b+tree 聚族索引 底层原理
jekins
docker了解
redis理解
rocketmq深度理解,异步 底层原理
redis理解二期
自旋锁
jvm
负载均衡k8s
熔断
Jmeter测压工具
分布式事务


redis深度理解
多线程
Redis
锁分布式锁 mongodb
观察者 策略
索引
软件安装rabbitmq kafka

==============================================
add 索引
观察者 策略=
redis======
===== mongodb kafka√
多线程======
锁==========
源码抽空
单例 抽象工厂 √
nginx√ _ElasticSearch_√ 缓存Redis √
简单工厂 √
es√
Linux√、shell√
常用的Linux命令√ 该系统下常用命令和工具的使用√;

———————————

设计模式得到细分:单实例、简单工厂、抽象工厂、观察者
redis
es
并发
线程

源码现在看起来有点不简单

=======
下一步
精度问题
redis
设计模式
es
并发
线程
spring源码研究

项目用到的设计模式:浅谈Java设计模式——单实例、简单工厂、抽象工厂、观察者

List转成Map

blog.csdn.net/lizaiismy/a…

List转Map的三种方法

blog.csdn.net/linsongbin1…

使用Java8的Stream进行多字段排序以及剔除非空字段排序

www.cnblogs.com/Demrystv/p/…

创建索引sql

drop table mch_shop_template_content;
create table if not exists mch_shop_template_content
(
    id               bigint(64) auto_increment,
    merchant_id      bigint(64)             null comment '绑定的商户ID',
    shop_template_id bigint(64)             null comment '拓店标准模板ID',
    value_type       tinyint(1)             null comment '比较范围;0:等于/1:小于/2:大于',
    data_key         varchar(30)            null comment '数据key',
    data_value       varchar(512)           null comment '打分参数',
    level            tinyint(2)             null comment '级别',
    gmt_create       datetime default now() null comment '创建时间',
    constraint mch_shop_template_content_pk
        primary key (id)
)
    comment '商户拓店标准表';
 
-- 模板id索引,商户ID索引
create index idx_merchant_id on mch_shop_template_content (merchant_id);
create index idx_shop_template_id on mch_shop_template_content (shop_template_id);

本文使用 文章同步助手 同步