Redis入坑笔记
Redis入坑笔记(道)
什么是Redis
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic p ...
Docker学习实践记录
Docker学习实践记录
前言
关于docker 其实也接触过有一段时间的,曾这个周末有些时间,做一些记录,大部分内容都是收录网上的教程,做一个总结。
Docker简介
什么是Docker
Docker 使用 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。
Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件。容器提供的镜像包含了应用的所有依赖项,因而在从开发到测试再到生产的整个过程中,它都具有可移植性和一致性。
而这种对进程进行封装隔离的容器又与传统虚拟化一些虚拟机并不相同,
虚拟化使得许多操作系统可同时在单个系统上运行。
容器则可共享同一个操作系统内核,将应用进程与系统其他部分隔离开。
Docker 如何工作?
Docker 技术使用 Linux 内核和内核功能(例如 Cgroups 和 namespac ...
阿里云使用宝塔面板部署Hexo
阿里云使用宝塔面板部署Hexo
先前一直只是简单的 用nginx加git部署hexo,但是由于nginx是在安装zabbix时一块儿安装的,nginx找不到安装路径,于是打算从新在阿里云上安装宝塔,再通过宝塔安装 nginx,部署hexo。
安装宝塔
一行命令安装宝塔(真香)
1yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
输入y,并回车。接下来便是等待宝塔面板进行安装。
安装后会显示自动生成的账号密码:类似如下
安装完后登录宝塔,首次登陆会提示我们安装环境,我们勾选左侧包含Nginx的即可。其他的也可以顺带安装好mysql与php。
git部署
我们在home文件夹下
新建两个文件夹git,hexo
123456cd .. //这里是因为默认执行目录是root,需要返回根目录cd homemkdir -p gitmkdir -p hexocd gitgit init --bar ...
注解@Scheduled的定时任务配置
注解@Scheduled的定时任务配置
在SpringBoot为我们内置了@Scheduled定时任务,添加相应的注解即可开启定时任务。
在入口程序类添加注解@EnableScheduling开启功能自动扫描
新建一个任务类
要在任务的类上写@Component
要在任务方法上写@Scheduled
1234567891011121314151617181920212223242526import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;import java.util.Date;@Componentpublic class Jobs { //表示方法执行完成后5秒 @Scheduled(fixedDelay = 5000) public void fixedDelayJob() throws InterruptedException { System.out.pr ...
sql语句优化
单表优化
将日常工作或平时看到的sql的语句优化汇总 总结。暂时只是 记录了简单的的sql调优,对于数据库单表的分库分表以后有空再总结记录一下吧。
索引
索引并不是越多越好,要根据查询有针对性的创建,考虑在WHERE和ORDER BY命令上涉及的列建立索引,可根据EXPLAIN来查看是否用了索引还是全表扫描索引并不是越多越好,索引固然可以提高相应的 select 的效率,但同时也降低了 insert 及 update 的效率,因为 insert 或 update 时有可能会重建索引,所以怎样建索引需要慎重考虑,视具体情况而定。一个表的索引数最好不要超过6个,若太多则应考虑一些不常使用到的列上建的索引是否有必要。
值分布很稀少的字段不适合建索引,例如"性别"这种只有两三个值的字段
字符字段只建前缀索引
字符字段最好不要做主键
不用外键,由程序保证约束
尽量不用UNIQUE,由程序保证约束
使用多列索引时主意顺序和查询条件保持一致,同时删除不必要的单列索引
字段
尽量使用TINYINT、SMALLINT、MEDIUM_INT作为整数类型而非INT,如果非负则 ...
SpringBoot小技巧
Controller 接收时间
1@RequestParam(value = "date", required = false)@DateTimeFormat(pattern="yyyy-MM-dd") LocalDate date;
@DateTimeFormat来控制入参,@JsonFormat来控制出参
@DateTimeFormat(pattern=“yyyy-MM-dd HH:mm:ss”)
@JsonFormat(timezone = “GMT+8”,pattern = “yyyy-MM-dd HH:mm:ss”)
原文链接:https://blog.csdn.net/xiangluer/article/details/81913137
利用反射机制将实体类转Map
在Controller返回时需要在一个对象中加一个字段属性 ,又不想改动对应的实体类增加属性,于是将对象利用反射机制将实体类转Map再添加kay-value。
123456789101112131415161718public static Map<String ...
Zabbix
Linux下Zabbix服务端的安装配置
关闭selinux和firewall
检测selinux是否关闭
[root@localhost ~]# getenforce
Disabled #Disabled 为关闭
临时关闭
[root@localhost ~]# setenforce 0 #设置SELinux 成为enforcing模式
永久关闭
[root@localhost ~]# vi /etc/selinux/config:
将SELINUX=enforcing改为SELINUX=disabled
设置后需要重启才能生效
查看默认防火墙状态
[root@localhost ~]# firewall-cmd --state
not running #关闭后显示not running,开启后显示running
停止firewall
[root@localhost ~]#systemctl stop firewalld.service
禁止firewall开机启动
[roo ...
easypoi导出Word
导入依赖
123456789101112131415<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>3.0.3</version> </dependency> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-web</artifactId> <version>3.0.3</version> </dependency> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-annotation< ...
Centos7安装npm
npm
安装
下载
1wget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz
解压重命名
12tar -xvf node-v8.0.0-linux-x64.tar.xzmv node-v8.1.4-linux-x64 node
配置环境变量
1vim /etc/profile
根据自己实际目录在文件末尾加入以下内容
123#set for nodejs export NODE_HOME=/usr/local/node export PATH=$NODE_HOME/bin:$PATH
使配置文件生效并查看是否安装成功
123source /etc/profilenode -vnpm -v
可下载源码编译安装,但编译时间较长不推荐
1wget https://npm.taobao.org/mirrors/node/v10.13.0/node-v10.13.0.tar.gz
一些nom命令
安装cnpm
12npm install -g cnpm --reg ...
springcloud之eureka&feign
pom
1234567891011121314151617181920212223242526272829303132333435 <!-- cloud--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <version>2.1.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter</artifactId> </dependen ...