8 小柴的生活观

尚未进行身份认证

我要认证

重来一次认真的阅读和写作!

等级
TA的排名 6k+

MapStruct 详解

GitHub 访问地址 : https://github.com/mapstruct/mapstruct/使用例子 : https://github.com/mapstruct/mapstruct-examples MapStrcut与其它工具对比以及使用说明 : http://www.tuicool.com/articles/uiIRjai BeanUtils.copyPro...

2018-10-27 13:18:07

分布式重建缓存的并发冲突 详解

在分布式系统中,如果缓存服务在本地的 Ehcache 中都读取不到数据,此时需要重新到源头的服务中去拉去数据,拉取到数据之后,赶紧先给 Nginx 的请求返回,同时将数据写入 Ehcache 和 Redis中。此时会出现分布式重建缓存的并发冲突问题重建缓存 : 比如数据在所有的缓存中都不存在 (如使用 LRU算法 给清理掉),就需要重新查询数据写入缓存,重建缓存分布式的重建缓存 : 在不同的机器上...

2018-05-29 21:53:46

热备份、温备份、冷备份 详解

按备份系统的准备程度,可将其分为 冷备份、温备份和热备份三大类 :1> 冷备份 : 备份系统未安装或未配置成与当前使用的系统相同或相似的运行环境,应用系统数据没有及时装入备份系统。一旦发生灾难,需安装配置所需的运行环境,用数据备份介质(磁带或光盘) 恢复应用数据,手工逐笔或自动批量追补孤立数据,将终端用户通过通讯线路切换到备份系统,恢复业务运行     优点 : 设备投资较少,节省通信费用,...

2018-05-29 21:52:23

Nginx+Lua 从Nginx和Redis缓存获取数据案例 详解

在 Nginx、Redis、Ehcache 三级缓存中,Nginx 分发层 和 应用层。在分发层 Nginx,通过 Lua,将商品id、商品店铺id,都转发到后端的应用nginx可以通过 Nginx 指令重新加载所有配置包括 Lua 脚本# /opt/modules/openresty/nginx/sbin/nginx/sbin/nginx -s reload1> 应用 Nginx 的 Lu...

2018-05-13 18:46:02

Nginx+Lua 定制流量分发策略案例

准备3台机器 eshop-cache01、eshop-cache02、eshop-cache03,用 eshop-cache01 和 eshop-cache02 作为应用层 Nginx服务器,用 eshop-cache03 作为分发层 Nginx。在 eshop-cache03,也就是分发层 Nginx 中,编写 Lua脚本,完成基于 商品id 的流量分发策略1> 获取请求参数,比如 pro...

2018-05-13 18:45:29

OpenResty 基础知识 和 Linux部署 详解

OpenResty (又称 : ngx_openresty) 是一个基于 NGINX 的可伸缩的 Web 平台,可以使用 Lua脚本语言 调动 Nginx 支持的各种 C 以及 Lua 模块,OpenResty 性能优异。OpenResty 可以快速构造出 1W+ 并发连接响应的超高性能 Web 应用系统OpenResty 可以将 Nginx+Lua 打包在一起,而且提供包括 Redis客户端,M...

2018-05-13 18:44:23

Nginx+Lua 开发的 hello world 案例 详解

编辑 Nginx 配置文件# cd /opt/modules/openresty/nginx/conf# cp nginx.conf nginx.conf.example    # 备份 nginx.conf 文件# vi nginx.confworker_processes  1;events {    worker_connections  1024;}http {    include   ...

2018-05-13 18:43:51

SpringBoot @ConfigurationProperties参数绑定 详解

1> 引入 spring-boot-configuration-processor 库<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-configuration-processor</artifactId> ...

2018-05-09 16:13:29

Linux 后台执行命令 详解

当在终端或控制台工作时,可能不希望由于运行一个作业而占住屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件。对于密集访问磁盘的进程,更希望它能够在每天的非负荷高峰时间段运行(例如凌晨)。为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用 :方法1> &当在前台运行某个作业时,终端被该作业占据;可以在命令后面加上 & 实现后台运行。例如 : sh...

2018-05-03 09:53:12

Java 产生随机数 详解

Math.random() 方法可以随机生成一个 [0, 1) 直接的数,包括 0,不包括 1生成 0 到 10 之间的整数# 使用 Math.round(Math.random() * 10))ExecutorService executorService = Executors.newFixedThreadPool(10);for (int i = 0; i < 100; i++) { ...

2018-04-28 14:39:08

JVM 命令参数 详解

JVM 启动时会带有很多的启动参数,Java命令本身就是一个多参数的启动命令java 启动命令java [options] classname [args]java [options] -jar filename [args]命令参数一下为 Java8 参数设置1> 标准参数 (Standard Option)-client-server指定 JVM 的启动模式是client模式还是serv...

2018-04-28 14:38:47

Oracle 基础知识 详解

DDL : 数据库模式定义语言,关键字:createDML : 数据操纵语言,关键字:Insert、delete、updateDCL : 数据库控制语言 ,关键字:grant、removeDQL : 数据库查询语言,关键字:select结构化查询语言 (Structured Query Language, SQL),Oracle 中的 SQL 不区分大小写只有在文本数字值得时候才会检查注 : 当创...

2018-03-27 11:07:06

Java 创建对象以及类加载 详解

java 创建对象有多种方式 :方式1> new方式2> 使用 Object 的 clone 方法    <1> 实现 clone类 首先实现 Cloneble接口,Cloneable接口 实质上是一个标识接口 类似于 Serializable 接口,没有任何方法    <2> 重写 Object 中的 clone方法    <3> 在 clone方...

2018-03-26 08:31:00

JavaScript 闭包 详解

闭包 : 闭包就是一个函数引用另外一个函数的变量,因为变量被引用着所以不会被回收,因此可以用来封装一个私有变量当内部函数在定义它的作用域的数据外部被引用时,就创建了该内部函数的闭包,如果内部函数引用了位于外部函数的变量,当外部函数调用完毕后,这些变量在内存不会被释放,因为闭包需要它们变量的作用域 :  作用域就两种,全局作用域和局部作用域var n=999;function f1(){  aler...

2018-03-26 08:30:55

MySQL 循环方法 while loop repeat 详解

存储过程中使用到的循环while 循环 :# 语法while 条件 do  循环体;end while;# 创建自定函数使用 while 循环mysql> DELIMITER ;;    -> CREATE PROCEDURE sum1(a INT)    -> BEGIN    -> DECLARE sum INT DEFAULT 0;  -- default 是指定该变...

2018-03-25 13:44:34

MyCat 注解 详解

MyCat 对自身不支持的 SQL 语句提供一种解决方案——在要执行的 SQL 语句前添加额外的一段由注解。SQL 组织的代码,这样 SQL 就能正确执行,这段代码称之为“注解”。注解的使用相当于对 MyCat 不支持的 SQL 语句做一层透明代理转发,直接交给目标的数据节点进行 SQL 语句执行,其中注解 SQL 用于确定最终执行 SQL 的数据节点。 注解的形式是 :/*!mycat: sql...

2018-03-25 12:26:33

Mycat-Web 使用 详解

1> Mycat eye 需要 Zookeeper 作为配置中心,因此搭建一个 Zookeeper2> Mycat eye 环境部署下载 Mycat-Web : GitHub https://github.com/MyCATApache/Mycat-download/tree/master/mycat-web-1.0                              镜像下载地...

2018-03-25 12:12:31

MySQL IS NOT NULL、!=NULL、ISNULL() 详解

NULL 表示什么也不是,不能 =、>、< … 所有的判断,结果都是false,所有只能用 IS NULL 进行判断默认情况下,推荐使用 IS NOT NULL去判断,因为 SQL 默认情况下对 !=NULL 的判断会永远返回 0 行,但没有语法错误如果一定想要使用 !=NULL 来判断,需要加上这个语句 :SET ANSI_NULLS OFF这时会发现 IS NOT NULL 和 !...

2018-03-25 11:20:53

MySQL 创建定时任务 详解

自 MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务,来取代原先只能由操作系统的计划任务来执行的工作。事件调度器有时也可称为临时触发器(temporal triggers),因为事件调度器是基于特定时间周期触发来执行某些任务,而触发器(Triggers)是基于某个表所产生的事件触发的,区别也就在这里在使用这个功能之前必须...

2018-03-25 11:20:46

MySQL show 详解

1> show tables 或 show tables from database_name : 显示当前数据库中所有表的名称mysql> show tables;+----------------+| Tables_in_test |+----------------+| article        || article2       || t_base         || t...

2018-03-25 11:20:36

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取