个人简介

Echo Blog


江湖无名 安心练剑
  • Caffeine-02-详细介绍+整合 springboot
    介绍 Caffeine 是一个基于Java 8的高性能本地缓存框架,采用了W-TinyLFU(LUR和LFU的优点结合)算法,实现了缓存高命中率、内存低消耗。 缓存性能接近理论最优,属于是Guava Cache的增强版。 在并发读、并发写、并发读写三个场景下Caffeine的性能最优。 特性 Caffeine 提供灵活的结构来创建缓存,并且有以下特性: 自动加...
    2018-09-09 23:44:19 | Cache
  • Lua-01-overview Lua 入门教程
    Lua Lua 是一种强大、高效、轻量级、可嵌入的脚本语言。 它支持过程编程、面向对象编程、函数编程、数据驱动编程和数据描述。 Lua 结合了简单的过程语法和基于关联数组和可扩展语义的强大数据描述结构。 Lua是动态类型化的,通过使用基于寄存器的虚拟机解释字节码来运行,并且具有带有增量垃圾收集的自动内存管理功能,使其成为配置、脚本编制和快速原型的理想工具。 快速开始 环境 ...
    2018-09-09 02:38:06 | Lang
  • Mybatis Cache in action
    Mybatis 缓存实战 数据准备 建表脚本 db.sql CREATE DATABASE mybatis DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE mybatis; init.sql DROP TABLE IF EXISTS `user`; CREATE TABLE user ( ...
    2018-09-08 04:18:10 | Cache
  • Mybatis Cache
    Mybatis 缓存 概念 MyBatis的缓存分为一级缓存和二级缓存,两种缓存的缓存粒度是一样的,都是对应一条sql查询语句,但是二者的生命周期是不一样的,一级缓存的生命周期是SqlSession对象的使用期间,随着SqlSession对象的死亡而消失; 二级缓存的生命周期是同 MyBatis 应用一样长的。 一级缓存 官方配置 开启情况 默认情况下是没有开启缓存的,除了局部...
    2018-09-08 03:11:06 | Cache
  • redis-45-redis multi io 多路复用
    Blocking I/O 先来看一下传统的阻塞 I/O 模型到底是如何工作的: 当使用 read 或者 write 对某一个文件描述符(File Descriptor 以下简称 FD)进行读写时,如果当前 FD 不可读或不可写,整个 Redis 服务就不会对其它的操作作出响应,导致整个服务不可用。 这也就是传统意义上的,也就是我们在编程中使用最多的阻塞模型: 阻塞模型虽然开发中非...
    2018-09-08 03:07:16 | Distributed
  • redis-44-redis migrate tool redis 迁移工具
    redis-migrate-tool redis-migrate-tool is a convenient and useful tool for migrating data between redis. 特点: 快速。 多线程。 基于redis复制。 实时迁移。 迁移过程中,源集群不影响...
    2018-09-08 03:07:16 | Distributed
  • 和 chatgpt 聊了一会儿分布式锁 redis/zookeeper distributed lock
    前言 最近的 chatGPT 很火爆,听说取代程序员指日可待。 于是和 TA 聊了一会儿分布式锁,我的感受是,超过大部分程序员的水平。 Q1: 谈一谈 java 通过 redis 实现分布式 锁 chatGPT: Java通过Redis实现分布式锁,是在多个Java应用程序之间实现同步的一种方式。通过Redis的原子性和高性能,实现了分布式锁的可靠性和高效性。 具体实现步骤如...
    2018-09-08 03:07:16 | Distributed
  • java 从零实现 redis 分布式锁
    点赞再看,已成习惯。 为什么需要分布式锁 在 jdk 中为我们提供了加锁的方式: (1)synchronized 关键字 (2)volatile + CAS 实现的乐观锁 (3)ReadWriteLock 读写锁 (4)ReenTrantLock 可重入锁 等等,这些锁为我们变成提供极大的便利性,保证在多线程的情况下,保证线程安全。 但是在分布式系统中,上面的锁就...
    2018-09-08 03:07:16 | Distributed