摘要: 如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。 表锁和行锁 mysql最显著的特点是不同的存储引擎支持不同的锁机制。比如, MyISAM和MEMORY存储引擎采用的是表级锁。 阅读全文
posted @ 2018-10-23 16:02 柚子苹果果 阅读(408) 评论(0) 推荐(0) 编辑
摘要: mysql事务并发问题 ACID什么的就不啰嗦了。mysql多个事务并发的时候,可能会出现如下问题: 1. 更新丢失 即两个事务同时更新某一条数据,后执行的更新操作会覆盖先执行的更新操作,导致先执行的更新结果丢失。 2. 脏读 即一个事务会读到另一个事务尚未提交的数据更新,由于该数据更新可能会回滚, 阅读全文
posted @ 2018-10-23 14:43 柚子苹果果 阅读(582) 评论(0) 推荐(0) 编辑
摘要: SQL mysql 阅读全文
posted @ 2018-10-09 15:00 柚子苹果果 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 延迟队列的应用场景也很常见,例如:session的超时过期、自动取消未付款订单等等。redis中有一种数据结构叫做zset,即有序集合。元素类型为String类型,且元素具有唯一性不能重复,每个元素可附带float类型的score即分值。从zset中获取元素的时候可以通过分值进行排序后获取某个分值范 阅读全文
posted @ 2018-09-28 14:50 柚子苹果果 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 消息队列一个消息的链表,是一个异步处理的数据处理引擎。不仅能够提高系统的负荷,还能够改善因网络阻塞导致的数据缺失。一般用于邮件发送、手机短信发送,数据表单提交、图片生成、视频转换、日志储存等。 redis的list类型天生支持用作消息队列。由于redis的list是使用双向链表实现的,保存了头尾节点 阅读全文
posted @ 2018-09-28 10:46 柚子苹果果 阅读(882) 评论(0) 推荐(0) 编辑
摘要: 一、使用zookeeper原生api实现分布式锁 1、思路一:利用Zookeeper不能重复创建一个节点的特性来实现一个分布式锁 流程: 需要获得锁时创建锁node节点。 如果创建失败,则表示该锁已经被别人占用,watch该节点状态,等待锁。 如果创建成功,则表示获得锁。 主动释放锁时删除对应的no 阅读全文
posted @ 2018-09-27 17:01 柚子苹果果 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 一、关于zookeeper Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储, Zookeeper 作用主要是用来维护和监控存储的数据的状态变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理。 阅读全文
posted @ 2018-09-05 17:46 柚子苹果果 阅读(1358) 评论(0) 推荐(0) 编辑
摘要: 1.下载java service wrapper 下载地址:http://wrapper.tanukisoftware.com/doc/english/download.jsp 针对自己的需求下载相应的软件版本,有linux,windows,苹果系统等,我的需求环境是windos 64版本。 2.配 阅读全文
posted @ 2017-11-21 09:17 柚子苹果果 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 例如定义切入点表达式 execution (* com.sample.service.impl..*.*(..)) execution()是最常用的切点函数,其语法如下所示: 整个表达式可以分为五个部分: 1、execution(): 表达式主体。 2、第一个*号:表示返回类型,*号表示所有的类型。 阅读全文
posted @ 2017-10-20 09:22 柚子苹果果 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 当调用String.compare方法的时候,比较的是Unicode码,并不能对汉字进行准确的排序,所以汉字比较时会出现比较混乱的结果。 java.text.Collator类中有一个getInstance(Locale desiredLocale) 方法可以解决对汉字排序的问题。 例如: 这样排序 阅读全文
posted @ 2017-10-13 12:06 柚子苹果果 阅读(1086) 评论(0) 推荐(2) 编辑