- 博客(53)
- 收藏
- 关注
转载 redis主从复制(master/slave)
一、是什么 也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,master以写为主,slave以读为主。主要用来读写分离和容灾恢复。二、怎么玩 1、配从(库)不配主(库)。 2、从库配置:slaveof 主库ip 主库端口:每次与主机(master)断开之后,都需要重新连接,除非你配置进redis.conf...
2019-01-07 00:18:00
206
转载 redis之事务
一、是什么 可以一次执行多个命令,本质是一组命令集合。一个事务中的所有命令都会序列化,按顺序的串行化执行而不被其他命令插入,不许加塞。一个队列中,一次性、顺序性、排他性的执行一系列命令。二、事务常用命令 1、discard:取消事务,放弃执行事务块内的所有命令。 2、exec:执行所有事务块内的命令。 3、multi:标志一个事务块的开始。 4、unwa...
2019-01-06 15:59:00
168
转载 redis持久化之AOF
一、是什么 以日志的形式记录每个写操作,将redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。二、配置文件 默认的生成的文件是appendonly.aof文件进行数据备份,默认是关的。appendonly ...
2019-01-01 23:48:00
220
转载 redis持久化之RDB
一、什么是RDB持久化 在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存中里。redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束,再用这个临时文件替换上次持久化的文件。整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能,如果需要进行大规模数据恢复,...
2018-12-31 15:53:00
190
转载 redis常用命令(二)
一、集合(set) 单值多value,vaue不能重复 sadd/smembers/sismember 添加数据/获取set所有数据/判断是否存在某个值 scard 获取集合里面的元素个数 srem key value 删除集合中的元素 srandmember key 某个整数(随机出几个数) spop key 集合随机出栈 smove key...
2018-12-30 16:48:00
96
转载 redis常用命令(一)
一、redis常见的数据操作命令 http://redisdoc.com/二、键(key) keys *: 查询所有的key。 exists key:判断某个key是否存在。 move key db : 把key移到某个数据库。 expire key 秒:为给定的key设置过期的时间。 ttl key 查看还有多少秒过期,-1表示永不过期,-2表示...
2018-12-30 00:08:00
100
转载 redis五大数据类型
一、String String是redis最基本的类型,可以理解成memcached一模一样的类型,一个key对应一个value。 String类型是二进制安全的。意思是redis的String可以包含任务数据。比如jpg图片或者序列化对象。 String类型是redis最基本的数据类型,一个redis中字符串value最多可以是512M二、Hash(哈希,类似ja...
2018-12-25 22:59:00
111
转载 redis入门概述
一、是什么 redis:REmote DIctionary Server(远程字典服务器)。是完全开源免费的,是用C语言编写的,遵守BSD协议,是一个高性能(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSQL数据库之一,也被人们称为数据结构服务器。有以下三个特点: a.Redis 支持持久化,可以将内存中的数据保持再磁...
2018-12-25 00:00:00
156
转载 rabbitmq系列五 之远程过程调用(RPC)
1、远程过程调用(RPC) 在第二篇教程中我们介绍了如何使用工作队列(work queue)在多个工作者(woker)中间分发耗时的任务。 可是如果我们需要将一个函数运行在远程计算机上并且等待从那儿获取结果时,该怎么办呢?这就是另外的故事了。这种模式通常被称为远程过程调用(Remote Procedure Call)或者RPC。 这篇教程中,我们会使用RabbitMQ来...
2018-06-17 23:05:00
151
转载 rabbitmq系列五 之主题交换机
1、主题 在前面的例子中,我们对日志系统进行了改进。使用了direct交换机代替了fanout交换机,从只能盲目的广播消息改进为有可能选择性的接收日志。 尽管直接交换机能够改善我们的日志系统,但是它也有它的限制——没办法基于多个标准执行路由操作。 在我们的日志系统中,我们不只希望订阅基于日志级别,同时还希望订阅基于日志来源。其中unix工具syslog是同时基于日志的级...
2018-06-16 23:46:00
188
转载 rabbitmq系列四 之路由
1、路由 在上一个的教程中,我们构建了一个简单的日志记录系统。我们能够向许多接收者广播日志消息。 在本次教程中,我们向该系统添加一些特性,比如,我只需要严重错误(erroe级别)的部分日志打印到磁盘文件中,但是同时仍然把所有的日志打印到控制台。2、绑定 在前面的例子中。我们已经用以下的代码创建了绑定。1 channel.queueBind(queueNa...
2018-06-16 14:26:00
98
转载 rabbitmq系列三 之发布/订阅
1、发布/订阅 在上篇教程中,我们搭建了一个工作队列,每个任务只分发给一个工作者(worker)。在本篇教程中,我们要做的跟之前完全不一样 —— 分发一个消息给多个消费者(consumers)。这种模式被称为“发布/订阅”。 为了描述这种模式,我们将会构建一个简单的日志系统。它包括两个程序——第一个程序负责发送日志消息,第二个程序负责获取消息并输出内容。 在我们的这个日...
2018-06-15 23:48:00
110
转载 rabbitmq系列二 之工作队列
---恢复内容开始---1、工作队列的简介 在上一篇中,我们已经写了一个从已知队列中发送和获取消息的程序,在这里,我们创建一个工作队列(work queue), 会发送一些耗时的任务给多个工作者。模型图如下: 工作队列,由称为任务队列(task queue), 主要是为了避免一些占用大量资源,时间的操作。当我们把任务(tas...
2018-06-15 19:56:00
117
转载 rabbitmq系列一 之简单队列
1、 rabbitmq简介 rabbitmq是一个消息代理,或者讲是一个消息中间件。主要是用来接收和转发信息的,它是对消息不做任何处理的。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取或者订阅队列中的消息。MQ和JMS类似,但不同的是JMS是SUN JAVA消息中间件服务的一个标准和API定义,而MQ则是遵循了AMQP协议的具体实现和产品。...
2018-06-14 21:11:00
95
转载 springboot-日志框架
1、日志框架简介 对于一个应用程序来说,日志的记录是必不可少的一部分。线上的问题追踪,基于日志业务逻辑统计分析等都离不开日志。java领域存在许多已经写好成熟的日志框架,经常使用的有JCL(jakarta Commons logging), SLF4J(simple Logging facade java), jboss-logging, log4j, JUL(java.util....
2018-05-27 23:20:00
105
转载 Java多线程——死锁
当一个线程永远地持有一个锁,并且其他线程都尝试获得这个锁时,那么他永远被阻塞,当线程A持有锁L并想获得锁M的同时,线程B持有锁M并同时尝试获得锁L时,那么两个线程将永远的等待下去,这中情况就是简单的死锁的形式,其中多个线程由于存在环路的锁依赖关系而永远的等待下去,那么就存在一个死锁。1、锁顺序死锁 下面是顺序锁的一个列子,代码如下: 1 package dead...
2018-03-04 14:28:00
118
转载 服务器集群的session管理
应用服务器的高可用架构设计主要基于服务无状态这一特性,但是事实上,业务总是有状态的,单机情况下,Session可由部署在服务器上的web容器(如Jboss)管理。在使用负载均衡的集群环境中,由于负载均衡服务器可能会分发到集群任何一台服务器上,所以保证每次请求依然能够获得正确的Session比单机要复杂的多。 集群环境下,Session管理主要有以下几种手段。 1、Sess...
2018-01-31 23:04:00
139
转载 java异常层次机构图
以下内容转自:http://www.cnblogs.com/toSeeMyDream/p/5213610.html在Java中,异常分为受检查的异常,与运行时异常. 两者都在异常类层次结构中.下面的图展示了Java异常类的继承关系.图1粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throw...
2018-01-25 00:10:00
116
转载 commons-logging.jar 和 log4j.jar 的关系
在用springmvc开发项目的时候,在日志管理这一块,我们一般用的都是log4j进行日志管理,但是我们在导入spring相关的jar的时候,都会看到commons-logging.jar包,为什么我们使用log4j的同时还要引入commons-logging.jar包,它们到底是一种什么关系呢? 接下来我们看看commons-logging中的org.apache.commo...
2017-12-09 14:24:00
171
转载 Java多线程—阻塞队列和生产者-消费者模式
阻塞队列支持生产者-消费者这种设计模式。该模式将“找出需要完成的工作”与“执行工作”这两个过程分离开来,并把工作项放入一个“待完成“列表中以便在随后处理,而不是找出后立即处理。生产者-消费者模式能简化开发过程,因为它消除了生产类和消费类之间的代码依赖性。转载于:https://www.cnblogs.com/Hxinguan/p/7517975.html...
2017-09-13 22:08:00
125
转载 Java多线程——同步容器类
1、同步容器类 同步容器类包括Vector和Hashtable,是早期JDK的一部分,这些类实现的方法是:将它们的状态封装起来,并对每个共有的方法进行同步,使得每个线程只有一个线程能访问它们。1.1 、同步容器类问题 同步类容器都是线程安全的,但在某些场景下可能需要加锁来保护复合操作。复合类操作如:迭代(反复访问元素,遍历完容器中的所有元素)、跳转(根据指定的顺序找到当前...
2017-09-10 12:19:00
121
转载 Java多线程——对象组合
我们不希望对每一次的内存访问都进行分析以确保程序是线程安全的,而是希望将一些现有的线程安全组件组合为更大规模的组件或者程序,这里介绍一些组合模式,这些组合模式能够使一个类更容易成为线程安全的,并且在维护这些类时不会无意中破坏类的安全性保证。1、设计线程安全的类 在设计线程安全类的过程中,需要包含以下三个基本要素: (1)、找出构成对象状态的所有变量。 (2)、找...
2017-09-04 10:46:00
152
转载 Java多线程——不变性与安全发布
1、不变性 某个对象在被创建后其状态就不能被修改,那么这个对象就称为不可变对象,不可变对象一定是线程安全的。不可变对象很简单。他们只有一种状态,并且该状态由构造函数来控制。 当满足以下条件时,对象才是不可变的:(1)、对象创建以后其状态就不能改变;(2)、对象的所有域都是final类型;(3)、对象是正确创造的(在对象创建期间,this引用没有溢出)。1.1 final域...
2017-09-03 22:32:00
138
转载 Java多线程——线程封闭
线程封闭:当访问共享的可变数据时,通常需要同步。一种避免同步的方式就是不共享数据。如果仅在单线程内访问数据,就不需要同步,这种技术称为线程封闭(thread confinement) 线程封闭技术一个常见的应用就是JDBC的Connection对象,JDBC规范并没有要求Connection对象必须是线程安全的,在服务器应用程序中,线程从连接池获取一个Connection对象...
2017-09-03 00:19:00
125
转载 线程安全性的基础知识
“共享”意味着变量可以由多个线程同时访问,而“可变”则意味着变量的值在其周期内是可以发生变化的。 一个对象是否是线程安全的,取决于它是否被多个线程访问。 当多个线程的访问某个状态变量并且其中某一个线程执行写操作时,必须采用同步机制来协同这些线程对变量的访问。java的同步机制是关键字synchronized,提供了一个独占的加锁方式。 当多个线程访问同一个可变的状态...
2017-08-30 23:04:00
95
转载 maven web不能创建src/main/java等文件等问题
我们在创建maven web项目的时候,默认只有src/main/resources这个source folder,我们按照maven结构添加src/main/java和src/test/java等source folder时,会报the folder is already .... 解决办法 建立folder,比如直接建立src/main/java folder,sr...
2017-02-26 21:42:00
105
转载 web环境中的spring MVC
1. web.xml文件的简单详解 在web环境中, spring MVC是建立在IOC容器的基础上,要了解spring mvc,首先要了解Spring IOC容器是如何在web环境中被载入并起作用的。 spring IOC是一个独立的模块,并不是直接关联web容器的,在web环境中使用IOC容器,就需要把IOC容器导入,在web环境中建立起来。下面以tomcat作为web容...
2017-02-16 22:36:00
123
转载 Spring AOP 概述
1. AOP的概念AOP 是Aspect-Oriented Programming(面向方面编程或者面向切面)的简称,维基百科对其解释如下: Aspect是一种新的模块化机制,用来描述分散在对象、类或者函数中的横切关注点。从关注点分离出横切关注点是面向切面的程序设计的核心概念。分离关注点使解决特定领域问题的代码从业务逻辑中独立出来,业务逻辑的代码中不再含有针对特定领域问题代码的...
2017-02-13 22:25:00
117
转载 mysql的left join、 right join和inner join
1.定义left join:左联接,返回包括左表中的所有记录和右表中符合条件的记录。right join:右联接,返回包括右表中的所有记录和左表中符合条件的记录。inner join:等值联接,返回两个表中符合条件的记录。2. 表的定义表A记录如下:aID aNum aheight1 a20050111 17...
2017-01-22 23:36:00
114
转载 静态网页、动态网页、apache和tomcat之间区别和联系
1、静态网页静态网页:在网站设计中, 纯粹的HTML(标准通用标志语言下的一个应用)格式的网页通常被称为"静态网页",静态网页是标准的HTML文件,它的拓拓展名是.html或者.htm。可以包含文本、图像、声音、FLASH动画、客户端脚本和ActiveX控件及JAVA小程序等。2、动态网页静态网页:转载于:https://www.cnblogs.com/Hxingu...
2017-01-19 00:06:00
166
转载 spring与shiro配置详解
1、加入shiro相关依赖的jar包pom.xml部分内容如下: 1 <dependency> 2 <groupId>org.apache.shiro</groupId> 3 <artifactId>shiro-spring</artifactId> 4 <version...
2016-12-16 23:55:00
187
转载 maven项目在eclipse启动报错:java.lang.ClassNotFoundException
问题:用eclipse创建maven项目的时候,pom.xml中相关的依赖jar已经导入进去,还会报java.lang.ClassNotFoundException的错误,提示找不到相关的jar包,但是在maven Dependencies中又可以找到相关的jar包。问题原因:我们进入到tomcat的部署路径下:E:\workplace4.6\.metadata\.pl...
2016-12-10 19:21:00
620
转载 如何修改maven的默认jdk版本
问题:1、创建maven项目的时候,jdk版本是1.5版本,而自己安装的是1.7或者1.8版本。2、每次右键项目名-maven->update project 时候,项目jdk版本变了,变回1.5版本或者其他版本解决办法:解决办法一:在项目中的pom.xml指定jdk版本,如下: 1 <build> 2 <...
2016-12-04 23:59:00
2038
转载 jpetStore 学习总结(2)
在写jpetstore时,最难理解的应该是数据库还有每个表之间的关系了,我在这里对数据库简单的介绍。 以下是数据库的所有表: account表是个人信息表,里面包括用户的名字,邮箱,地址,哪个城市等 bannerdata表中只有两个字段,一个是宠物的种类名,还有相对应的图片路径 category、product和it...
2016-12-03 17:13:00
239
转载 jpetStore 学习总结(1)
最近学习了Springmvc4,对官方的例子jpetStore进行了分析研究,在官方网站下载spring-framework-2.5.6.SEC03,其中samples文件夹里就有jpetstore的例子。但是是基于spring2来写的,在网上找了好久也没有找到基于spring4写的jpetstore,于是就参照基于spring2的jpetstore重新写了一个基于spring4的j...
2016-12-03 15:54:00
203
转载 @ModelAttribute注解和POJO传参过程
1、@ModelAttribute注解@ModelAttribute主要有三个用途,对方法进行注解,对参数进行注解,还有@ModelAttribute和@RequestMapping一起对方法进行注解。(1) 对方法进行注解@ModelAttribute对方法进行注解,有两个作用,一是在调用@RequestMapping注解的方法之前,先调用@ModelAttribute注解...
2016-12-03 14:58:00
709
转载 eclipse的debug模式下启动不了tomcat
使用eclipse启动tomcat,正常模式下可以启动tomcat,却在debug模式下无法启动tomcat。 这个问题可能是由于eclipse和tomcat的交互而产生的,在以debug模式启动tomcat时,发生了读取文件错误,eclipse自动设置了断点,导致tomcat不能正常启动。 解决方法把breakpoints veiw都删除就好了,步骤如下:window-...
2016-11-27 23:40:00
259
转载 Springmvc之表单验证
1、需要的相关jar 这里采用的是hibernate-validator-5.2.4.Final 和validation-api-1.1.0.Final 两个jar包。Hibernate Validator 是 Bean Validation 的参考实现,Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的实现,除此之外还有一些...
2016-11-27 16:27:00
112
转载 Tomcat常见错误
问题1:Could not publish server configuration for Tomcat v7.0 Server at localhost.Multiple Contexts have a path of "/shiro.demo".在你的空间里找到如下文件${WoskSpace}/.metadata\.plugins\org.eclipse.wst.ser...
2016-10-30 20:22:00
96
转载 maven常见错误
错误1:ArtifactTransferException: Failure to transfer commons-collections:commons-collections:jar:3.2.2 from .......。解决:在本地库依赖对应的文件夹删除掉,比如:C:\Users\Hxinguan\.m2\repository\commons-collections,重新...
2016-10-30 11:32:00
157
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人