- 博客(45)
- 资源 (16)
- 收藏
- 关注
原创 查询商品扩展多属性
第一种SELECT COUNT(*) FROM t_product p WHERE p.productTypeId=1AND EXISTS (SELECT 'x' FROM t_productext ext WHERE ext.ProductID=p.ProductID AND ext.ItemCode='system' AND ext.ItemValue='win7')AND E...
2019-08-13 16:53:57 208
原创 JAVA-HashMap
https://blog.csdn.net/u013309870/article/details/70456355 https://blog.csdn.net/u011240877/article/details/53351188
2018-10-31 16:39:29 267
原创 linux中cache占用多原因及清理cache方法
1 Linux下内存占用多的原因当linux第一次读取一个文件运行时,一份放到一片内存中cache起来,另一份放入运行程序的内存中,正常运行,当程序运行完,关闭了,cache中的那一分却没有释放,第二次运行的时候,系统先看看在内存中是否有一地次运行时存起来的cache中的副本,如果有的话,直接从内存中读取,那样,速度就快多了我们频繁使用的ls命令等基本命令,你运行的时候根本看不到硬盘灯闪...
2018-08-30 16:45:47 4196
原创 java关于hash计算相关
1、Hash值有什么用? HashMap、HashTable、HashSet,所以涉及到使用Hash值进行优化存储的地方,都会用到HashCode。HashCode是Key,这种计算为提高计算的性能。想想看,一般来说,数组算是比较快的集合类了吧,直接用index定位元素,简直就是O(1)的级别。但是添加元素就不这么乐观了。但是使用hash类的集合,添加元素,移动的元素少,只影响一小块,...
2018-08-29 09:55:42 338
原创 Mysql递归获取某个父节点下面的所有子节点和子节点上的所有父节点
https://blog.csdn.net/u010825931/article/details/79927213 https://blog.csdn.net/u014033756/article/details/70567746
2018-08-15 09:41:18 2261
转载 MySQL索引原理以及查询优化
MySQL索引原理以及查询优化一、介绍1.什么是索引?一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。2.为什么要有索引呢?索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。...
2018-07-17 14:52:48 258
原创 fastDFS系统搭建单实例
一、背景描述 之前公司的图片服务器已经不能胜任了(直接使用tomcat),需要重新搭建图片服务器,这两天研究了下FastDFS,感觉挺好用记录下来以供日后参考。二、FastDFS官方介绍 FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统。它只能通过 专有API对文件进行存取访问,不支持POSIX接口方式,...
2018-06-28 11:26:43 197
原创 idea把代码打包jar上传到maven私服
一:setting.xml文件配置<server> <id>nexus_release</id> <username>developer</username> <password>123456</password> </server> <server&
2018-06-26 10:11:53 3815
原创 限流的一些思考(2)
一:RateLimiterRateLimiter是guava提供的基于令牌桶算法的实现类,可以非常简单的完成限流特技,并且根据系统的实际情况来调整生成token的速率。rateLimiter.acquire()该方法会阻塞线程,直到令牌桶中能取到令牌为止才继续向下执行,并返回等待的时间。二:DelayQueue是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对...
2018-06-01 14:40:21 199
原创 限流的一些思考(1)
最近笔者在阅读博文时很受启发。业务背景介绍 对于web应用的限流,光看标题,似乎过于抽象,难以理解,那我们还是以具体的某一个应用场景来引入这个话题吧。 在日常生活中,我们肯定收到过不少不少这样的短信,“双11约吗?,千款….”,“您有幸获得唱读卡,赶快戳链接…”。这种类型的短信是属于推广性质的短信。为什么我要说这个呢?听我慢慢道来。 一般而言,对于推广营销类短信,它们针对某一群体(譬如注册会员)进...
2018-06-01 14:22:56 447
转载 多线程中的Synchronized和volatile与面试题
、Synchronized关键字1、方法中的变量不存在非线程安全问题,都是线程安全的。2、两个线程访问同一个对象中的同步方法时,一定是线程安全的。3、关键字synchronized取得的锁都是对象锁,而不是把一段代码或方法(函数)当作锁,哪个线程先执行synchronized关键字的方法,哪个线程就持有该方法所属对象的锁Lock,那么其他线程只能呈等待状态,前提是多个线程访问的是同一个对象。但如果...
2018-05-18 14:47:31 949
转载 spring boot-使用redis的Keyspace Notifications实现定时任务队列
前言:最近项目中有一个需求:需要将执行失败的指令存起来,隔5分钟之后,再取出来执行一次,看到这个需求描述,我第一时间想到了Redis的Keyspace Notifications机制。当然也可以使用jdk自带的DelayQueue来实现,或者更进一步,使用ScheduledThreadPoolExecutor池来实现。由于系统是分布式的,所以考虑使用Redis来实现。关于Redis的Keyspac...
2018-04-11 16:30:32 621 1
原创 redis incr的一个使用场景
一:背景 项目中碰到短信网关有个问题:务需求是需要限制一个号码一分钟内只能获取一次随机码,之前的实现是短信发送请求过来后,先去数据库查询发送记录,根据上一次的短信发送时间和当前时间比较,如果时间差小于一分钟,则提示短信获取频繁,如果超过一分钟,则发送短信,并记录短信发送日志。 这样的操作其实是有问题的。当同一时间有很多请求过来时,同时去查库,同时获取到上一次发送时间,有可能就会重复
2018-01-31 15:53:13 8095 4
原创 redis分布式锁
一:使用分布式锁的条件1.系统是一个分布式系统(关键是分布式)2.共享资源(各个系统访问同一个资源,资源的载体可能是传统关系型数据库或者NoSQL)3.同步访问(即有很多个进程同事访问同一个共享资源。没有同步访问,谁管你资源竞争不竞争)二:分布式锁的实现方式1.数据库乐观锁2.基于Redis的分布式锁(本文内容)3.基于ZooKeeper的分布式锁三
2018-01-31 13:40:53 229 1
原创 Docker swarm 的一些介绍
部分内容来自网络Swarm deamon只是一个调度器(Scheduler)和路由器(router),Swarm自己不运行容器,它只是接受docker客户端发送过来的请求,调度适合的节点来运行容器,这意味着,即使Swarm由于某些原因挂掉了,集群中的节点也会照常运行,当Swarm重新恢复运行之后,它会收集重建集群信息。下面是Swarm的结构图:
2017-11-30 14:55:21 621
原创 Centos 7上Docker私有仓库Registry
1. 关于Registry官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去。但是,有时候,我们的使用场景需要我们拥有一个私有的镜像仓库用于管理我们自己的镜像。这个可以通过开源软件Registry来达成目的。 Registry在github上有两份代码:老代码库和新代码库。老代码是采用python编写的,存在p
2017-11-28 13:12:14 341
原创 centos7安装最新docker
首先升级一下系统包 (可以跳过)yum update卸载旧版本的 Dockeryum erase docker docker-common docker-client docker-compose添加 Docker 的 yum 源创建一个 /etc/yum.repos.d/docker.repo 文件,内容如下
2017-11-28 10:11:03 348
原创 关于使用fastdfs-client-java链接fastDFS(外网访问)超时问题
笔者最近在测试fastDFS,暂时部署在了一个外网环境中。本机win7能够telnet通,服务器测试fastDFS没有问题。但是通过java代码访问时,一直报异常,链接超时。执行main方法时报错:java.net.ConnectException: Connection refused: connectat java.net.DualStackPlainSocketI
2017-11-23 15:52:02 5106 4
原创 springMvc+mybatis事务管理不起作用解决
我遇到的问题是事务不起作用,虽然多次数据库操作中有异常出现,但还是部分提交,并没有回滚;具体的解决方式见下:1.注意抛出异常,配置正确2.由于采用的是SpringMVC、 MyBatis,故统一采用了@Service、@Controller注解来声明Service和Controller 组件,于是我在Spring和SpringMVC的配置文件均用一行代码配置了Sprin
2017-09-19 11:15:09 759
原创 分布式订单号一
package com.ykx;/** * Twitter_Snowflake * SnowFlake的结构如下(每部分用-分开): * 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000 * 1位标识,由于long基本类型在Java中是带符号的,最高位是符号
2017-08-28 14:55:40 795
原创 处理一个netty异常
AM io.netty.channel.DefaultChannelPipeline$TailContext exceptionCaughtWARNING: An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in
2017-07-18 11:18:35 2781
原创 使用curator进行选举
前言1.笔者在开发项目的过程中,碰到一种情况。只能进行一台机器的处理。类型这样的分布式问题,我们可以通过zookeeper实现选举master的功能。2.大体思路。 选择一个根据节点,例如/master_select,多台机器同时向该节点创建一个子节点/master_select/lock,利用zookeeper的特性,最终只有一台机器能够创建成功,成功的那台就作为Master选举。
2017-07-11 16:02:32 257
原创 ELK系列-logstash跟logback结合
一:启动好ELK二:配置测试项目1.maven项目加入 net.logstash.logbacklogstash-logback-encoder4.7 2.logback.xml增加169.254.247.253:9250 3.编写logstash的配置文件test2.conf
2017-05-26 17:43:22 4484 1
原创 centos6.5安装ELK
一:简介ELK由Elasticsearch、Logstash和Kibana三部分组件组成;Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。Logstash是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用kibana 是一
2017-05-25 18:00:12 912
转载 MySQL数据库大小写敏感问题
mysql数据库在做查询的时候,有时候是英文字母大小写敏感的,有时候又不是的,主要是由mysql的字符校验规则的设置决定的,通常默认是不支持的大小写字母敏感的。 1. 什么是字符集和校验规则?字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。任何一个给定的字符集至少有一个校对规则,它可能有几个校对规则。要想列出一个字符集的校对规则,使用SHOW COLL
2015-12-24 11:53:44 718
转载 redis配置认证密码
redis配置密码1.通过配置文件进行配置yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到[plain] view plaincopy#requirepass foobared 去掉行前的注释,并修改密码为所需的密码,保存文件[plain] view plaincop
2015-12-23 18:14:28 262
转载 Redis Sentinel机制与用法
摘要 Redis Sentinel机制与用法(一)目录[-]Sentinel spring 集群配置: 见下方留言代码。概述Sentinel支持集群Sentinel版本运行SentinelSentinel的配置Sentinel的“仲裁会”配置版本号配置传播SDOWN和ODOWN的更多细节Sentinel之间和Slaves之间的
2015-12-23 18:07:51 318
转载 Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍
redis是一个著名的key-value存储系统,而作为其官方推荐的java版客户端jedis也非常强大和稳定,支持事务、管道及有jedis自身实现的分布式。在这里对jedis关于事务、管道和分布式的调用方式做一个简单的介绍和对比:一、普通同步方式最简单和基础的调用方式,@Testpublic void test1Normal() { Jedis jedis
2015-12-23 17:09:36 374
转载 cassandra 学习之旅<三> 内部认证与授权
在关系型数据库中, 我们一般都有用户名,密码登陆, 那么 cassandra如何配置后, 必须使用用户名密码登陆呢.很简单, 修改配置文件 cassandra.yamlvim confg/cassandra.yaml authenticator: PasswordAuthenticatorauthorizer: CassandraAuthorizer
2015-11-11 10:17:49 1110
转载 cassandra 学习之旅<二> 集群安装
一、环境准备我这里准备两个节点,192.168.0.101, 192.168.0.102 二、安装分别在192.168.0.101,192.168.0.102上安装,安装步骤如 cassandra 学习之旅,修改conf/cassandra.yaml红色部分IPseed_provider: # Addresses of hosts th
2015-11-11 10:16:42 375
转载 cassandra 学习之旅<一> 初体验
1、安装1.1、下载地址1.2、Linux下安装以下命令使用root用户执行,以下为单机版新建cassandra用户groupadd cassandrauseradd -s /bin/bash -g cassandra -d /opt/cassandra cassandra解压并赋给cassandra权限tar -zxvf apach
2015-11-11 10:14:26 1376
转载 设置maven的编译级别
两种方式:(一)全局设置首先我们要在settings.xml文件中找到标签,然后在此标签内部粘贴如下配置: jdk-1.6 1.6 1.6 1.6 1.6 (二)单个项目单独设置如果需要在某个项目中指定编译级别,可以在
2015-10-31 14:35:07 636
转载 Maven 手动添加 JAR 包到本地仓库
Maven 确确实实是个好东西,用来管理项目显得很方便,但是如果是通过 Maven 来远程下载 JAR 包的话,我宿舍的带宽是4兆的,4个人共用,有时候用 Maven 来远程下载 JAR 包会显得很慢,一般我发现下载速度不明显的时候,我就 Ctrl + C 来终止它的下载。然后改用手动来下载,因为用迅雷一类的工具来下载会快很多。我机子上 Maven 的本地仓库的很多 JAR 包我都是手动下
2015-10-31 14:30:06 384
原创 spring-session实例
1.相关配置说明 class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> 2.web.xml文件配置
2015-10-19 19:39:29 1227 1
原创 centos6.5安装redis3.0.5问题
1.首先安装必要包yum install gcc2.下载安装#下载wget http://download.redis.io/releases/redis-3.0.5.tar.gztar zxvf redis-3.0.5.tar.gzcd redis-3.0.5#如果不加参数,linux下会报错make MALLOC=libc3.启动#启动redissr
2015-10-19 14:29:58 375
翻译 redis.conf配置详细解析
# redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位,# 通常的格式就是 1k 5gb 4m 等酱紫:## 1k => 1000 bytes# 1kb => 1024 bytes# 1m => 1000000 bytes# 1mb => 1024*1024 bytes# 1g => 1000000000 bytes#
2015-10-19 14:27:10 338
转载 Redis主从复制和主从切换
配置主从复制建立从文件夹,譬如 /usr/local/slaves/下建立 6380 6381 两个文件夹(两个从服务器)复制redis.conf到刚建立的两个文件夹中修改redis.conf 中的port 6380slaveof 127.0.0.1 6379 ------ip表示主服务器的ip 端口表示主服务器端口
2015-10-14 14:10:21 454
转载 数据库悲观锁和乐观锁
一下是转载的oracle和Mysql两种数据库悲观锁和乐观锁机制及乐观锁实现方式:一、OracleOracle数据库悲观锁与乐观锁是本文我们主要要介绍的内容。有时候为了得到最大的性能,一般数据库都有并发机制,不过带来的问题就是数据访问的冲突。为了解决这个问题,大多数数据库用的方法就是数据的锁定。数据的锁定分为两种方法,第一种叫做悲观锁,第二种叫做乐观锁。什么叫悲观锁呢,悲观
2015-10-14 09:50:14 291
spring-session
2015-10-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人