- 博客(86)
- 资源 (3)
- 收藏
- 关注
原创 Memcached使用总结以及注意事项
目录memcached所有命令在内部都是原子的!数据结构的序列化减少键大小如何列出所有键?压缩为什么key过期时curr_items不会减少?相较于MySQL查询缓存Noreply/Quiet|不回复/安静散列一致的散列连接限制Memcached服务分布式集群Memcached特点及工作原理memcache内存管理没有身份认证机制!memcached所有命令在内部都是原子的!数据结构的序列化通过set / add / etc命令传递..
2021-04-12 17:34:23
646
原创 Memcached命名空间
命名空间从1.4.2开始,xmemcached提供了memcached命名空间的封装使用,你可以将一组缓存项放到同一个命名空间下,可以让整个命名空间下所有的缓存项同时失效,例子:String ns = "namespace" ;// 向命名空间 "namespace" set 一条数据"cc" 值为2 , 过期时间为90毫秒memcachedClient.withNamespace(namespace, client -> client.set
2021-04-09 15:45:06
2289
原创 Memcached客户端分布式代码实现一致性哈希算法XMemcached
客户端分布Memcached的分布是通过客户端实现的,客户端根据key的哈希值得到将要存储的memcached节点,并将对应的value存储到相应的节点。XMemcached客户端分布不同的客户端有着不同的分布式实现方式 , 这里我们使用XMemcached.XMemcached同样支持客户端的分布策略,默认分布的策略是按照key的哈希值模以连接数得到的余数,对应的连接就是将要存储的节点。如果使用默认的分布策略,你不需要做任何配置或者编程。XMemcached同样也支持一致性哈希(con
2021-04-09 15:25:18
401
原创 Memcached集成配置Springboot以及xmemcached常规操作
目录集成前配置引入依赖配置application.yml自定义properties类自定义Memcached连接配置类MemcachedClient的使用其他操作集成前配置引入依赖 <!--memcache--> <!-- https://mvnrepository.com/artifact/com.googlecode.xmemcached/xmemcached --> <depe.
2021-04-09 13:51:33
1527
转载 Memcached客户端XMemcached
XMemcached简介Xmemcached是基于java nio实现的高性能可扩展的memcached客户端。XMemcached特点 高性能 XMemcached同样是基于java nio的客户端,java nio相比于传统阻塞io模型来说,有效率高(特别在高并发下)和资源耗费相对较少的优点。传统阻塞IO为了提高效率,需要创建一定数量的连接形成连接池,而nio仅需要一个连接即可(当然,nio也是可以做池化处理),相对来说减少了线程创建和切换的开销,这一点在高并发下特别明显。因此XMem
2021-04-09 13:21:04
474
原创 Memcached 介绍以及Linux简易安装
目录Memcached 介绍特征存储方式通信分布式Memcached 安装安装连接阿里ECS服务器连接注意事项Memcached 介绍Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。memcached的API使用32位的循环冗余校验(CRC-32)计算键值后...
2021-04-09 13:03:02
136
原创 MongoDB( 六 )MongoDB之MapReduce
MongoDB Map ReduceMap-Reduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE)。MongoDB提供的Map-Reduce非常灵活,对于大规模数据分析也相当实用。MapReduce 命令>db.collection.mapReduce( function() {emit(key,value);}, //map 函数 key 与 value 为集合中任意参数 key需唯一 functi
2021-03-08 17:35:24
1484
5
原创 jvm GC原理 年轻代(新生代)、老年代、永久代(元空间)
目录前言:虚拟机栈和本地方法栈溢出堆整体为什么要对堆内存分代年轻代老年代永久代(元空间)Full GC有关年轻带的配置参数前言:由于最近项目改版 , 在修改代码过程中因业务逻辑需要现需要采购订单由上至下所有关联数据全部装配至一个实体类 Biz 中 , 一共后续数据操作 ,期初数据量小时候并未显现问题 , 而后等加入的数据量持续增大时 , 出现了OutOfMemoryError(内存溢出) ,后经查看分析代码运行时堆栈数据 , 发现在某一...
2021-02-24 10:57:00
1806
原创 java8函数式接口Consumer<T>
目录Java 8 函数式接口函数式接口介绍函数式接口实例其他函数式接口Java 8 函数式接口 函数式接口介绍 函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口可以被隐式转换为 lambda 表达式。Lambda 表达式和方法引用(实际上也可认为是Lambda表达式)上。 函数式接口实例 函数式接口可以使用在如下场景: 现有一个常规数据组装类(用于拼装各种实体类信息) A ,..
2021-02-22 11:31:01
2404
原创 MongoDB( 五 )MongoDB普通查询和聚合查询
一 : 普通查询MongoDB的普通查询MongoTemplate与Mysql的JdbcTemplate或者说是Redis的RedisTemplate别无二致 , 使用方式完全相同;在使用之间创建一个临时使用的test集合, 结构如下db.getCollection("testDocuments").insert( { _id: ObjectId("5fe9439e66730000e70058d0"), name: "huang", age: 21, gende
2020-12-31 09:49:52
1296
原创 MongoDB( 四 ) MongoDB注册各种类型转换器、ObjectId序列化转换器
笔者之前写过一篇有关mongo 简介的博客 , 里面写着有关 mongo 数据类型的相关解释MongoDB( 一 ) MongoDB 数据类型目录(一):自定义转换器1 . 写转换器样例2 . 读类型转换器(二): 注册自定义转换器(三): ObjectId序列化ObjectId1 . 序列化方式一: 使用ResponseBodyAdvice拦截Controller方法默认返回参数,统一处理返回值/响应体2 . 序列化方式二: 将ObjectId序列化类用作Mo...
2020-12-25 11:10:03
2256
2
原创 Mongo聚合函数使用Sort排序时内存不足导致查询失败,开启allowDiskUse=true
目录1、问题描述2、问题解决1. Java代码方式解决办法2. Mongo 原生聚合函数解决办法1、问题描述由于项目原因, 需要向数据存储至mongo,在使用过程中 , 单个document(集合)数据量大概在80万条左右 , 单条数据为16的栏位(属性) ,现有如下需求 , 根据某些特定条件一次性查出N条数据(大致数量在8万条左右) , 并进行 sort 排序,然后在使用Java代码查询时候, 直接抛出了异常 ,经过Debug跟踪发现在问题具体抛出点是在 进行Sort时导
2020-12-18 17:00:18
9148
1
原创 nohup启动jar包时 2>/dev/null 和 >/dev/null 2>&1 和 2>&1>/dev/null 三者的区别
目录(一) Linux 系统预留文件描述符1、文件描述符2、重定向3、特殊文件/dev/null 和 /dev/zero1、特殊文件描述2、特殊文件使用4、使用nohup 启动jar包nohup命令语法格式参数说明(一) Linux 系统预留文件描述符1、文件描述符Linux系统预留可三个文件描述符:0、1和20 --- 标准输入(stdin) 1 --- 标准输出(stdout) 2 --- 标准错误(stderr)...
2020-12-18 15:18:28
1728
原创 MongoDB( 三 ) MongoDB的Java多数据源配置
在前面的文章中介绍了Mongo的简介数据结构等一些基础MongoDB Java操作 ( 一 ) MongoDB 简介而后又介绍了MongoDb如何使用java 进行MongoDb连接 和Mongo的连接池配置等一些操作MongoDB Java操作 ( 二 ) MongoDB的连接以及基础配置、连接池配置这篇说下MongoDb的多数据源配置Mongo多数据源配置(一) 项目背景介绍由于项目业务 , 现需要将项目中的业务数据 与 生产数据分开存放分开查询 , 分别管理 , 故而需要配置...
2020-12-04 17:18:35
1963
原创 MongoDB( 二 ) MongoDB的连接以及基础配置、连接池配置
前面说了mongo的简介以及mongo的数据结构 (MongoDB Java操作教程 ( 一 ) MongoDB 简介) , 这篇说下mongo在Java下的连接以及配置(一) MongoDB的连接标准 URI 连接语法:mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] mongodb://这是固定的格式,必须要指定。...
2020-11-30 15:34:40
13257
原创 MongoDB( 一 ) MongoDB 简介
Mongo简介MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。MongoDB主要特点MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。 你可
2020-11-24 15:45:15
668
原创 Zookeeper安装配置以及集群搭建和选举机制
Zookeeper单机安装 zookeeper安装前提 , 需要java 运行环境 , 也就是JDK ,且需1.6 以上 下载 Zookeeper 文件 # 下载 wget http://mirrors.bit.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.8-bin.tar.gz# 解压tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz# 进入cd apache-zook...
2020-08-05 17:05:59
474
原创 Linux 搭建maven私服Nexus
一: 私服简介:私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的用户使用。当Maven需要下载构件的时候,它从私服请求,如果 私服上不存在该构件,则从外部远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。私服的好处:a、节省自己的外网带宽b、加速Maven构建c、部署自己内部的第三方构件d、提高稳定性,增强控制e、降低中央仓库的负荷。二: 私服下载:笔者这里使用 Linux 作为例子进行演示 (与windows想差不
2020-07-18 10:49:09
223
原创 IDEA 2019.3.4 使用教程
笔者本不想专门为一个idea 的破解去写一篇文章的 , 无奈今天突然打开idea , 出来个弹出框 , 告诉我idea 失效了 ,顿时稍微有满额一丢丢的手忙脚乱 , 因为距离上次破解已经有一段时间了 , 具体有些细节也已经忘得差不多了然后就去查自己当初是否有写相关的文章 , 果然 没写 , 所以这里就记录一下 吧 , 不是什么技术 , 权当备忘录吧!!!首先这里...
2020-07-17 16:42:32
793
原创 List 分组、分割、平分
将一组数据平均分成n组/** * 将一组数据平均分成n组 * * @param source 要分组的数据源 * @param n 平均分成n组 * @param <T> * @return */public static <T> List<List<T>> averageAssign(List<T> source, int n) { List<List<T>> result = ne
2020-07-04 15:48:13
763
原创 Spring-cloud EureKa部分与Spring-boot2.2.X版本不兼容问题
近期由于电脑重装了系统导致之前的东西都需要重新安装在安装idea 时候选择了 2019最新版的idea , 然后jdk 版本1.8自己在家闲来无事想着搭建一个分布式项目玩玩 , 然后就有了如下场景问题一 : Eureka 与springboot 较高版本不兼容问题1 . 创建SpringBoot 项目 然后作为Eureka 服务注册笔者这里使用idea 默...
2020-04-13 13:03:21
2874
原创 Linux安装RabbitMQ以及用户配置
一 : RabbitMQ 简介RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。1.什么是MQ消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队...
2020-04-05 11:56:43
1137
原创 Java使用poi读取Excel文件
废话不多说直接上代码 , 具体注释代码里都有写到一 : pom引入(这里也涵盖导出的pom) <!-- 导入和导出excel时需要的jar包 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId&g...
2020-03-30 11:40:37
324
2
原创 Java工具类时间Date工具类
package com.xhkjedu.utils;import org.apache.commons.lang3.StringUtils;import java.text.ParseException;import java.text.SimpleDateFormat;import java.time.DayOfWeek;import java.time.LocalDate;...
2020-03-30 11:33:10
194
原创 Java动态启用线程调度定时任务
因为近期项目中需要用动态调用定时任务 , 所以就记录一下这个过程 , 避免以后用到 , 当做参考 ,首先笔者在这里需要描述一下场景 : 这个项目终到的框架结构是 Spring-boot 所以在相关类的注入 或者注解方面 都是以Springboot 的方式为主1 . 基础类的配置 在此之前笔者已经强调所使用项目架构 , 要实现计划任务,首先通过在配置类注...
2020-03-30 11:32:56
1269
原创 Jmeter的使用和使用Jmeter进行压测
一 : 前言压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤,下面我带大家来使用一款压力测试工具JMeter , 笔者有注意到网上有种说法就是Postman 也可也进行压力测试 , 很显然没有描述清楚 , 或者说对postman的测...
2020-03-25 17:14:36
456
1
原创 Linux安全之安装安全狗(推荐)
一 : 前面我们介绍并使用了两种有关linux 的安全软件 , 今天换做另一个比较使用的也比较简单的 服务器安全狗首先进行下载wget http://down.safedog.cn/safedog_linux64.tar.gz 笔者这边使用的是 64位的 所以有不同系统版本的 请注意更换链接地址注意下载文件夹 , 可根据自己喜好进行移动 mv 指令然后解压 ...
2020-03-24 11:25:42
3990
3
原创 mysql用户创建以及权限分配
笔者历任公司当中 不乏会遇见一些小公司在针对数据库权限问题方面做得不够到位 , 过度信任员工 , 当然了这里也不是说员工必然就是坏人 , 不怕一万 , 就怕万一 , 如果在数据库权限问题方面做得不够到位 , 可能会出现意想不到的严重后果 , 所以笔者这边还是想重申一下 , 数据库权限问题 , 在整个开发过程当中还是相当重要的首先我们需要知道mysql的系统权限是如何运作的一、...
2020-03-23 10:30:59
333
原创 JAVA LocalDate工具类
package com.jp.jasper.util;import java.time.Instant;import java.time.LocalDate;import java.time.LocalDateTime;import java.time.Period;import java.time.ZoneId;import java.time.ZoneOffset;impor...
2020-03-20 14:33:00
362
原创 javacv实现上传视频后自动保存封面缩略图(Java截取视频缩略图)
现在视频网站展示列表都是用img标签展示的,动图用的是gif,但是我们上传视频时并没有视屏封面,就这需要上传到服务器时自动成功封面并保存JavaCV 是一款开源的视觉处理库,基于GPLv2协议,对各种常用计算机视觉库封装后的一组jar包,封装了OpenCV、libdc1394、OpenKinect、videoInput和ARToolKitPlus等计算机视觉编程人员常用库的接口。此方法...
2020-03-16 16:25:07
1668
原创 java判断两个文件是否相同
废话不多说直接上代码:1.计算MD5或SHA-1然后对比判断 // 计算文件的 MD5 值 根据MD5值 判断文件是否是同一个文件 public static String getFileMD5(File file) { if (!file.isFile()) { return null; } Messag...
2020-03-12 15:44:17
1105
原创 Jasper报表开发中文不显示或者显示乱码问题解决
最初使用jasper时候会遇见中文不显示中文不显示的问题 , 也是差很多博客 , 方法比较杂, 感觉最有效也最方便的 ,还是以下这一个 亲测有效!!!首先1、官网下载jasperreports-6.1.1-project.zip 2、解压缩,查看demo的fonts net\sf\jasperreports\fonts\dejavu目录下增加simsun.ttf(不能...
2020-03-12 15:23:47
2820
原创 IReport 的安装注意事项jdk版本问题
笔者使用的版本为5.0iReport -5.6.0 工具 的 运行 完全依赖于 jdk 而 iRport 目前 并不支持 高版本jdk 只支持 1.7 及以下所以 需手动修改配置文件在 iRport 文件夹 下 D:\iReports-5.6.0-windows\iReport-5.6.0\etc 路径 根据个人 实际情况 而不同etc 文件夹下 的 ...
2020-03-12 15:12:48
2626
原创 使用Java发送邮件工具类
import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import java.util.Date;import java.util.Properties;/** *...
2020-03-12 15:00:25
292
原创 Mysql时间操作的SQL-比较/Format
在mysql使用过程中,日期一般都是以datetime、timestamp等格式进行存储的,但有时会因为特殊的需求或历史原因,日期的存储格式是varchar,那么我们该如何处理这个varchar格式的日期数据呢使用函数STR_TO_DATA(str,format)时间字段为Greens_Data 类型为 varchar查询指定一段时间中的数据并排序1、第一种函数STR_TO_DATE(str,format):将字符串转为时间格式2、第二种函数DATE_FORMAT(str,format)
2020-03-12 14:54:28
1111
原创 java之Cron定时表达式表达式大全
Cron 定时表达式 0 * * * * ? 每1分钟触发一次 0 0 * * * ? 每天每1小时触发一次 0 0 10...
2020-03-12 14:52:29
5117
原创 Linux安全之使用Denyhosts防止暴力破解
DenyHosts是用Python语言写的一个程序,它会分析sshd的日志文件(/var/log/secure),当发现重 复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。1. 到官网下载DenyHostsDenyHosts官网:http://denyhosts.sourceforge.net/2. 解压并安装# 官网下载包安装tar zx...
2020-02-07 17:18:07
1340
原创 Linux安装Redis数据库教程
一 : 安装编译首先需要下载一个版本 , 由于对目前最新的redis版本不够了解 , 故暂时使用 5.0 也不属于太旧 ,// 下载5.0 版本的rediswget http://download.redis.io/releases/redis-5.0.0.tar.gz// 下载完毕之后 cd 至 redis-5.0.0下 进行 make(编译)// 不过 redis是由...
2020-01-10 16:32:24
277
原创 Linux目录介绍以及安装JDK
首先我们需要了解下Linux 系统里面每个路径具体作用都是什么【常见目录说明】 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。 /etc 存放系统管理和配置文件 /home 存放所有用户文件...
2020-01-09 14:58:19
367
jasperreports-MyFonts-6.9.0.jar
2020-03-12
jasperreports-fonts-6.9.0.jar
2020-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅