实用
文章平均质量分 61
来源于实际与工作
YangXueChina
这个作者很懒,什么都没留下…
展开
-
基于Redis实现延迟队列
点击打开链接转载 2018-03-09 13:51:24 · 651 阅读 · 0 评论 -
Redis大坑
转自如果有大量的key需要设置同一时间过期,一般需要注意什么?如果大量的key过期时间设置的过于集中,到过期的那个时间点,redis可能会出现短暂的卡顿现象。一般需要在时间上加一个随机值,使得过期时间分散一些。Redis如何做持久化的?bgsave做镜像全量持久化,aof做增量持久化。因为bgsave会耗费较长时间,不够实时,在停机的时候会导致大量丢失数据,所以需要aof来配合使用。在redis实...转载 2018-03-09 12:49:25 · 1455 阅读 · 0 评论 -
Redis做异步队列
首先,redis设计用来做缓存的,但是由于它自身的某种特性使得它可以用来做消息队列,它有几个阻塞式的API可以使用,正是这些阻塞式的API让其有能力做消息队列;另外,做消息队列的其他特性例如FIFO(先入先出)也很容易实现,只需要一个list对象从头取数据,从尾部塞数据即可;redis能做消息队列还得益于其list对象blpop brpop接口以及Pub/Sub(发布/订阅)的某些接口,它们都是阻...原创 2018-03-09 12:46:37 · 8577 阅读 · 0 评论 -
Redis的key与scan
假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如果将它们全部找出来?1. 使用keys指令 :扫出指定模式的key列表。2. 如果这个redis正在给线上的业务提供服务,那使用keys指令会有什么问题?(scan指令 : 通过游标查询显示)redis的单线程的。keys指令会导致线程阻塞一段时间,线上服务会停顿,直到指令执行完毕,服务才能恢复。这个时候可以使...原创 2018-03-09 12:41:00 · 1107 阅读 · 0 评论 -
Redis分布式锁
先拿setnx来争抢锁,抢到之后,再用expire给锁加一个过期时间防止锁忘记了释放。java代码参考:java代码实现参考如果在setnx之后执行expire之前进程意外crash或者要重启维护了,那会怎么样? (Setnx(SET if Not eXists) )回答:我记得set指令有非常复杂的参数,这个应该是可以同时把setnx和expire合成一条指令来用的!...原创 2018-03-09 12:35:51 · 1001 阅读 · 0 评论 -
Redis数据结构
Redis有哪些数据结构?基本的是有5种:字符串String、列表List、集合Set、字典Hash、有序集合SortedSet。如果是Redis中高级用户,还需要加上下面几种数据结构HyperLogLog、Geo、Pub/Sub以及Redis Module,像BloomFilter,RedisSearch,Redis-ML。(1)Redis HyperLogLog 是用来做基数统计的算法。Hyp...原创 2018-03-09 12:26:46 · 299 阅读 · 0 评论 -
JDBC
MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。public class Person {//一个Person类 对应于一个person表 private Long ...转载 2018-02-08 18:36:15 · 623 阅读 · 0 评论 -
Git 详细记录
对于Git的安装可以随便从网上搜一篇,照着安装即可。下面将自己新入职第一周的学习记录一下。Git是什么? Git是分布式版本控制系统(一款软件 ---- 工具),其作用是对文件版本进行管理,方便在不同版本进行切换修改,类似文件分不同时间备份让,后来需要时找回其中一份代替,不过更方便使用。此处的版本是文件的版本。Git常用命令:1. $ git init Git的初始化命令,用于新建版本库 (会...原创 2018-02-08 17:45:16 · 159 阅读 · 0 评论 -
dubbo初步学习
看了几天,感觉这篇相对来说是比较有用的.转自:点击打开链接转载 2018-03-07 20:14:55 · 141 阅读 · 0 评论 -
Kafka底层存储机制 理解
借助:点击打开链接Kafka作为消息中间件时进行分析: Kafka中的message是以topic为基本单位进行组织的,不同的topic之间是相互独立的。每个topic又可以分为不同的partition,每个partition存储一部分的message信息。 Partition是以文件的形式存储在文件系统中,比如,创建了一个名为test的topic,其有5个partition,那么在Kafk...原创 2018-03-07 11:55:11 · 4214 阅读 · 0 评论 -
getClass() 与getName()
实例:通过Eclipse编写代码得到package com.test.demo02;/** * Hello world! * */public class App { public static void main( String[] args ) { App app=new App(); System.out.println( app.ge...原创 2018-02-11 18:54:39 · 1181 阅读 · 1 评论 -
dubbo的配置形式
提供方<?xml version="1.0" encoding="UTF-8"?><!-- 添加 DUBBO SCHEMA --><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance.原创 2018-02-11 14:31:01 · 246 阅读 · 0 评论 -
mapper.xml中的标签记录
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- mapper 为根元素节点, 一个name原创 2018-02-11 14:28:11 · 286 阅读 · 0 评论 -
JDBC 查询数据库表的操作代码
转载:点击打开链接Public static void main(String[] args) { Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; ...转载 2018-02-11 11:04:33 · 5745 阅读 · 0 评论 -
logback.xm文件个人详细分析01
本文是根据个人理解进行梳理分析,有问题地方请留言。logback 是建立在三个主要类之上:日志记录器(Logger),输出端(Appender)和日志格式化器(Layout)。其配置文件:1. 最外层是<configuration>标签,它有三个属性scan="true" 、scanPeriod="60 seconds" 、debug="false"。scan:当此属性设置为true时...原创 2018-02-11 10:28:28 · 381 阅读 · 0 评论 -
logback.xml文件标签详解
<?xml version="1.0" encoding="UTF-8"?><configuration> <!-- configuration有三个常用属性:scan="true" scanPeriod="60 seconds" debug="false" scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加原创 2018-02-11 10:14:22 · 2006 阅读 · 0 评论