- 博客(17)
- 收藏
- 关注
原创 使用clipboard.js实现复制、剪切功能
介绍clipboard.js,将文本复制到剪贴板的现代方法。没有Flash。没有框架。只需3kb gzipped,开箱即用。官网地址 https://clipboardjs.com/,js引入及页面写法可参考官方demo JS写法 $(document).ready(function()...
2019-02-20 12:34:10
692
原创 在开发过程中,到底要不要使用存储过程
今天在看存储过程,之前也在知乎上看到过各种各样的讨论,支持或者不支持存储过程,貌似不支持的更多一些。在传统企业,比如银行什么的,有严格的开发规范指定所有的业务逻辑处理必须放在存储过程里。开发人员不需要知道表结构,不需要知道字段类型,只用调用就好,保证数据库的安全性。所以必须保证写出的存储过程性能是极高的,但是即使性能很好,在数据库端进行大量的计算,还是会影响数据库的性能。也看到阿里等等的大牛说不要...
2018-05-28 20:09:51
6218
原创 ExtJs中combo传value而不是name
比如name:'userName'要加上hiddenName:'userName'只有这样才会传value过去,而不是name
2018-05-25 10:32:42
515
原创 ExtJs中一行显示两列
{ layout: 'column', items:[{ columnWidth: .5, layout: 'form', defaults: {anthor:'95%'}, ...
2018-05-21 11:16:16
1715
原创 文本内清除Html标签,js,style,换行
//清除html标签 private static String cleanHtml(String html) { String regEx_html="<[^>]+>"; //定义HTML标签的正则表达式 Pattern p_html=Pattern.compile(regEx_html,Pattern.CASE_INSENSITIVE); M...
2018-04-03 14:36:51
2194
1
原创 判断字符是否是数字
public static boolean isInteger(String str) { Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); return pattern.matcher(str).matches(); }
2018-03-13 14:26:46
336
原创 根据当前时间获取前n天或者后n天
//获取前n天public static String getPastDate(int past) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past); Date today = calen...
2018-03-13 14:25:04
369
原创 获取字符在英文字母中排第几位
private static int getIndexFromChar(String str) { String uid = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"; String[] uidArray = uid.split(","); int index = 0; for (int i = 0; i < ...
2018-03-13 14:22:26
3871
转载 深入剖析Redis复制
数据同步Redis在2.8及以上版本使用psync命令完成主从数据同步,同步过程分为:全量复制和部分复制。全量复制:一般用于初次复制场景,Redis早期支持的复制功能只有全量复制,它会把主节点全部数据一次性发送给从节点,当数据量较大时,会对主从节点和网络造成很大的开销。部分复制:用于处理在主从复制中因网络闪断等原因造成的数据丢失场景,当从节点再次连上主节点后,如果条
2018-01-22 21:11:28
1850
1
转载 Redis主从复制
为什么需要了解Redis主从复制 在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他机器,满足故障恢复和负载均衡等需求。Redis也是如此,它为我们提供了复制功能,实现了相同数据的多个Redis副本。复制功能是高可用Redis的基础建立复制参与复制的Redis实例划分为主节点(master)和从节点(slave)。默认情况下,Redis都是主节点。每个从节点只能
2018-01-21 19:52:29
401
原创 Redis事务(Transaction)
前言熟悉关系型数据库的读者应该对事务比较了解,简单地说,事务表示一组动作,要么全部执行,要么全部不执行。例如在A向B转100块,A减少100块的同时,B的账户上必须增加100块,这两个行为要么全部执行,要么全部不执行,否则会出现数据不一致的情况。为了保证多条命令组合的原子性,Redis提供了简单的事务功能,本文介绍Redis中事务的使用方法,及其几点重要的特性。Redis事务是
2018-01-21 15:12:31
4006
原创 谈谈Redis持久化(下)——AOF(Append Only File)
AOF(append only file)持久化以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中的命令达到恢复数据的目的。AOF的主要作用是解决了数据持久化的实时性,目前已经是Redis持久化的主流方式。理解掌握好AOF持久化机制对兼顾数据安全性和性能非常有帮助。通俗一点的理解就是以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件
2018-01-21 15:10:15
13828
1
原创 谈谈Redis持久化(上)——RDB(Redis DataBase)
Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复,理解掌握持久化机制对于Redis运维非常重要RDBRDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发RDB手动触发机制save命令:阻塞当前Redis服务器,直到RDB过
2018-01-21 15:08:01
1443
原创 如何最大发挥Redis服务端性能——谈谈如何使用Pipeline
Pipeline概念Redis客户端执行一条命令分为如下四个过程:1)发送命令2)命令排队3)命令执行4)返回结果其中1)+4)称为Round Trip Time(RTT,往返时间)。Redis提供了批量操作命令(例如mget、mset等),有效地节约RTT。但大部分命令是不支持批量操作的,例如要执行n次hgetall命令,并没有mhgetall命令存在,需
2018-01-13 23:37:38
3452
2
原创 Jedis连接池的使用
为什么要使用Jedis连接池Redis作为缓存数据库理论上和MySQL一样需要客户端和服务端建立起来连接进行相关操作,使用MySQL的时候相信大家都会使用一款开源的连接池,例如C3P0.因为直连会消耗大量的数据库资源,每一次新建一个连接之,使用后再断开连接,对于频繁访问的场景,这显然不是高效的。Jedis直连Redis生产环境一般使用连接池的方式对Redis连接进行管理,所有J
2018-01-13 23:36:11
11906
原创 Jedis的API使用
Jedis jedis = new Jedis("127.0.0.1", 6379);// 连接redis // -------------------- 字符串类型---------------------------- jedis.set("a", "我是a");// 字符串增加单个值 set key value jedis.get("a");// 字符串获取单个值 get key
2018-01-08 21:57:55
1221
转载 ArrayList是如何扩容的?
ArrayList 的基本知识动态扩容一 初始化1.首先有三种方式来初始化:public ArrayList();2.默认的构造器,将会以默认的大小来初始化内部的数组public ArrayList(Collectionextends E> c)3.用一个ICollection对象来构造,并将该集合的元素添加到ArrayListpublic ArrayList(
2018-01-07 15:23:02
14740
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人