08 2017 档案

摘要:1,Redis 丰富的数据结构(Data Structures) 字符串(String) Redis字符串能包含任意类型的数据 一个字符串类型的值最多能存储512M字节的内容 利用INCR命令簇(INCR, DECR, INCRBY)来把字符串当作原子计数器使用 使用APPEND命令在字符串后添加内 阅读全文
posted @ 2017-08-27 22:05 PointNet 阅读(5059) 评论(0) 推荐(1) 编辑
摘要:前言应用场景 事务必须满足传统事务的特性,即原子性,一致性,分离性和持久性。但是分布式事务处理过程中, 某些场地比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证? 在搜索广告系统中,当用户点击某广告后,除了在点击事件表中增加一条记录外,还得去 阅读全文
posted @ 2017-08-27 15:56 PointNet 阅读(369) 评论(0) 推荐(0) 编辑
摘要:背景在很多互联网产品应用中,有些场景需要加锁处理,比如:秒杀,全局递增ID,楼层生成等等。大部分的解决方案是基于DB实现的,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对redis的连接并不存在竞争关系。其次Redis提供一些命令SETNX,GETSET,可以方便实现 阅读全文
posted @ 2017-08-27 15:54 PointNet 阅读(422) 评论(0) 推荐(0) 编辑
摘要:SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用, 阅读全文
posted @ 2017-08-27 11:13 PointNet 阅读(357) 评论(0) 推荐(0) 编辑
摘要:一、概述: Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中。它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序。然而需要额外指出的是,尽管So 阅读全文
posted @ 2017-08-25 21:28 PointNet 阅读(301) 评论(0) 推荐(0) 编辑
摘要:Redis持久化功能 Redis为了内部数据的安全考虑,会把本身的数据以文件形式保存到硬盘中一份,在服务器重启之后会自动把硬盘的数据恢复到内存(redis)的里边。 数据保存到硬盘的过程就称为“持久化”效果。 1. snap shotting快照持久化 该持久化默认开启,一次性把redis中全部的数 阅读全文
posted @ 2017-08-23 21:21 PointNet 阅读(391) 评论(0) 推荐(0) 编辑
摘要:一、概述 和传统关系型数据库一样,Redis 同样是支持事务的。Redis 的事务可以通过 MULTI/EXEC/DISCARD/WATCH 等命令来实现。 二、事务的 ACID 特性 1). 原子性:事务中的命令要么全部执行,要么都不执行。 Redis 的事务和传统的关系型数据库事务最大的区别在于 阅读全文
posted @ 2017-08-23 20:32 PointNet 阅读(321) 评论(0) 推荐(0) 编辑
摘要:这里要讨论这些常用的默认初始容量和扩容的原因是: 当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存(如果是离散分配则不需要重新分配,离散分配都是插入新元素时动态分配内存),要将容器原来的数据全部复制到新的内存上,这无疑使效率大大降低。 加载因子的系数小于等于1,意指 即当 元素个数 超过 容 阅读全文
posted @ 2017-08-22 19:43 PointNet 阅读(415) 评论(0) 推荐(0) 编辑
摘要:我们在使用consumer消费数据时,有些情况下我们需要对已经消费过的数据进行重新消费,这里介绍kafka中两种重新消费数据的方法。 1. 修改offset 我们在使用consumer消费的时候,每个topic会产生一个偏移量,这个偏移量保证我们消费的消息顺序且不重复。Offest是在zookeep 阅读全文
posted @ 2017-08-21 23:50 PointNet 阅读(7607) 评论(0) 推荐(0) 编辑
摘要:1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难; 链表 链表存储区间离散,占用内存比较宽松,故空间复杂度 阅读全文
posted @ 2017-08-21 22:21 PointNet 阅读(483) 评论(0) 推荐(0) 编辑
摘要:MySql优化的一般步骤: 1.通过show status 命令了解各种sql的执行效率 SHOW STATUS提供msyql服务器的状态信息 一般情况下,我们只需要了解以”Com”开头的指令 show session status like ‘Com%’:显示当前的连接的统计结果 show glo 阅读全文
posted @ 2017-08-21 20:54 PointNet 阅读(674) 评论(0) 推荐(0) 编辑
摘要:在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法。我们看一下最常用的方法及其优缺点。 既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHa 阅读全文
posted @ 2017-08-19 15:56 PointNet 阅读(958) 评论(0) 推荐(0) 编辑
摘要:很多时候,我们在mysql中创建了索引,但是某些查询还是很慢,根本就没有使用到索引!一般来说,可能是某些字段没有创建索引,或者是组合索引中字段的顺序与查询语句中字段的顺序不符。看下面的例子:假设有一张订单表(orders),包含order_id和product_id二个字段。一共有31条数据。符合下 阅读全文
posted @ 2017-08-19 12:46 PointNet 阅读(13583) 评论(5) 推荐(1) 编辑
摘要:第一种(懒汉,线程不安全): Java代码 public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (i 阅读全文
posted @ 2017-08-19 09:02 PointNet 阅读(300) 评论(0) 推荐(0) 编辑