sqlserver小点杂
时间相加
语法
1DATEADD(type,number,date)
常用类型
年
季度
月
周
日
时
分
秒
毫秒
yy或yyyy
qq或q
mm或m
wk或ww
dd或d
hh
mi或n
ss或s
ms
举例
1select DATEADD(ss,1,'2021-02-27 15:05:33.0')
给用户创建function权限
1SET GLOBAL log_bin_trust_function_creators = 1;
mysql小点杂
时间差
类型
秒数
分钟数
小时数
天数
周数
季度数
月数
年数
SECOND
MINUTE
HOUR
DAY
WEEK
QUARTER
MONTH
YEAR
举例
1SELECT TIMESTAMPDIFF(SECOND,‘1993-03-23 00:00:00’,DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'))
做时间减法
1SELECT DATE_SUB(NOW(), INTERVAL 8 HOUR); ---少8个小时
补位
前后补字符
12select RPAD('1',8,'0') as numselect LPAD('1',8,'0') as num
常用函数
返回参数列表中的第一个非空值,如果所有参数都是NULL,则返回NULL
12SELECT COALESCE(NULL, 1, 2); -- 返回 1SELECT COALESCE(NULL, NULL, NULL); -- 返回 N ...
获取配置文件参数
依赖
123456<!-- 该依赖功能为在书写yml时有提示 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional></dependency>
配置文件数据
1234person: name: wp age: 18 str: 这是字符串
方式一通过@Value注解(可不创建实体类)
12345678910111213141516import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.PropertySource;import org.springframework.st ...
整合sentinel
sentinel用于对请求的流量控制,熔断降级的管控
实现原理:通过拦截器对配置了限流规则的接口或者代码块进行限流和熔断降级处理
代码整合流程原理:目的微服务暴露8719端口,控制台可根据8719的接口获取埋点的信息(若该端口被已经被占用,则会开启8719自增未被占用的端口),控制台设置规则并将规则发送到目的微服务,目的微服务在进行每次访问的时候被其拦截器拦截,根据规则来流量控制
开启控制台控制台用于获取要控制的微服务的埋点,以及给每个埋点设置规则
官网下载sentinel代码或者直接下载dashbord的jar包
启动dashbord
默认端口为8080
整合sentinel依赖12345<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> <version>2.1.2.RELEASE</version>& ...
整合flowable-model
下载Flowabel
下载 地址
此次使用的6.4.1版本(切换分支即可找到对应版本)
创建springboot项目准备数据库相关环境
引入依赖
123456789101112131415161718<!--Mysql连接--><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.16</version></dependency><!--Mybatis--><dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</vers ...
Feign配置
feign 远程服务调用组件,主要是用于微服务之间接口的互相调用
feign需要依赖于注册中心,如eurake、nacos,即用feign的提供者和消费者需要都被注册发现在注册中心中
生产者生产者不需要做其它配置,只需要将自己注册进注册中心中就行了,如controller
123456789@RestController@RequestMapping("/provide")public class DemoController { @GetMapping("/ces") public String provide(){ return "我打印出来了"; }}
消费者消费者需要引入openfeign依赖,且也需将自己注册进注册中心,并配置生产者信息
依赖
1234<dependency> <groupId>org.springframework.cloud</groupId> <artifactId ...
hystrix配置
hystrix 熔断机制,用于服务间互相调用的熔断,结合feign使用
配置方式
依赖
1234<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency>
yml配置
1234#开启熔断机制,默认falsefeign: hystrix: enabled: true
熔断类
123456789@Componentpublic class HystrixReturn implements MyFeign { @Override public String provide() { System.out.println("我熔断了"); return "我熔断了"; } ...
redis分布式锁使用
安装redis整合redis简单的原生实现
依赖
12345<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.1.5.RELEASE</version></dependency>
创建加锁和解锁方法
12345678910111213141516171819202122232425262728293031323334353637383940414243@Componentpublic class RedisLockCommon { @Resource private RedisTemplate redisTemplate; /** * Redis加锁的操作 * @param key * @param value ...
redis基础
redis安装linux安装 官网 安装访问虚拟机6379设置
关闭防火墙
1service iptables stop
修改配置文件 redis.conf
bind 127.0.0.1 注释掉
protected-mode no 关闭保护模式
重新启动
src中输入
1./redis-server ../redis.conf
常用命令行进入数据操作12#src下./redis-cli
清除redis1FLUSHDB
String12345678910111213141516#存入SET key value#例 set str 1#获取GET key#例 get str#截取字符串获取GETRANGE key start end#例 GETRANGE str 0 -1#例 GETRANGE str 0 1#字符串替换SETRANGE key offset value#例 SETRANGE str 1 aa
123456789101112131415#增加1INCR key#例 INCR str#减少1DECR key#例 DECR str#自定义增长INCRB ...
zookeeper分布式锁使用
整合zookeeper
安装zookeeper
开启zookeeper服务
12#在zookeeper安装目录bin目录下zkServer.sh start
开启zookeeper客户端
12#在zookeeper安装目录bin目录下./zkCli.sh
依赖
12345<dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-recipes</artifactId> <version>4.0.1</version></dependency>
通过封装好的curator来实现
代码顺序
12345678910111213141516171819@Autowiredprivate CuratorFramework curatorFramework;//设置zookeeper节点InterProcessMutex interProcessMutex = new InterP ...