首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Hugo博客

    MapDB 同步读写示例

    MapDB 是一个快速、易用的嵌入式Java数据库引擎. 最主要的特点之一就是支持磁盘存储,直接把内存中的Hash Map同步写入到磁盘. 这里需要明白的, MapDB存储到磁盘上的数据库文件,并非只是存放了一个HashMap, 这有点类似数据库里可以有多张表的概念相同. 那么数据库是可以支持多连接的, MapDB是否也同样支持呢? 初步检验的结果是, MapDB并不支持同时访问磁盘上的同一文件. 那么也就是只能创建一个长连接, 直到业务功能处理完成再关闭它. ; import org.mapdb.DB; import org.mapdb.DBMaker; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest 参考资料: MapDB 官网 官方示例 MapDB实现分析

    33700编辑于 2024-11-20
  • 来自专栏空空裤兜

    道道通出现“no mapdb1”错误

    引导道道通的时候提示“No mapdb1”,搜了很多解决方法,基本都是一个抄另一个,通过我不断的楼上楼下跑,修改、测试,终于找到一种目前还没搜到的办法,当然,也很简单。 原文链接:https://www.kudou.org/no-mapdb1.html

    43520编辑于 2023-03-03
  • 来自专栏愿天堂没有BUG(公众号同名)

    一天内Boss转发5k次,「高性能Java:核心原理案例实战」已被封杀

    Grafana监控实战 第10章堆内缓存解决方案: Java堆内缓存与Guava Cache 问题描述 问题分析与解决方案 Java堆内缓存 Guava Cache实战 第11章堆外缓存与磁盘缓存解决方案:MapDB 问题描述 问题分析与解决方案 MapDB的构造原理 MapDB的使用方法 MapDB实战 第12章基于Redis的分布式锁解决方案: Redisson 分布式锁与Redisson原理 单机版超买或超卖问题描述及解决方案

    40020编辑于 2022-10-28
  • 来自专栏冰河技术

    缓存最关心哪些指标?

    可以使用Guava Cache、Ehcache 3.x、 MapDB实现。 可以使用Ehcache 3.x、 MapDB实现。 磁盘缓存 即缓存数据存储在磁盘上,在JVM重启时数据还存在,而堆/堆外缓存数据会丢失,需要重新加载。 可以使用Ehcache 3.x、MapDB实现。 分布式缓存 分布式缓存可以使用ehcache-clustered(配合Terracotta server)实现Java进程间分布式缓存。

    1.2K30发布于 2021-09-10
  • 来自专栏冰河技术

    【高并发】在高并发环境下该如何构建应用级缓存?

    可以使用Guava Cache、Ehcache 3.x、 MapDB实现。 可以使用Ehcache 3.x、 MapDB实现。 磁盘缓存: 即缓存数据存储在磁盘上,在JVM重启时数据还存在,而堆/堆外缓存数据会丢失,需要重新加载。 可以使用Ehcache 3.x、MapDB实现。 分布式缓存: 分布式缓存可以使用ehcache-clustered(配合Terracotta server)实现Java进程间分布式缓存。

    58310发布于 2020-10-29
  • 来自专栏冰河技术

    【高并发】面试官:说说缓存最关心的问题?有哪些类型?回收策略和算法?

    可以使用Guava Cache、Ehcache 3.x、 MapDB实现。 可以使用Ehcache 3.x、 MapDB实现。 磁盘缓存 即缓存数据存储在磁盘上,在JVM重启时数据还存在,而堆/堆外缓存数据会丢失,需要重新加载。 可以使用Ehcache 3.x、MapDB实现。 分布式缓存 分布式缓存可以使用ehcache-clustered(配合Terracotta server)实现Java进程间分布式缓存。

    51910发布于 2020-10-29
  • 来自专栏PHP修行之路

    Golang ast 的使用

    loggers" "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" "gorm.io/gorm/schema" ) var mapDB GetConnName() string { return b.ConnName } // 获取链接 func GetDB(model GaTabler) *gorm.DB { db, ok := mapDB

    1.2K20编辑于 2022-12-14
  • 来自专栏阿甘的码路2

    稳定性治理三,故障预防、发现、处理

    mapdb 降级缓存 引入 mapdb 原因: 系统接口对 redis 缓存依赖很重,基本逻辑都是提前计算好结果缓存在 redis 里做加速,但是 redis 本身就是一个不稳定因素。 针对这种情况需要引入了本地缓存,由于待缓存的数据量较大(GB级别),不可能使用纯内存 cache,所以我们使用了 MapDB,一个可以把本地文件映射为内存 map 或 tree 的工具。 mapdb 过期策略: 本地缓存不能使用类似 redis 一样的自动过期策略,因为那样的话就失去了作为备用数据源的意义,因此需采取了多重自动刷新策略来更新数据,例如:按id递增遍历更新、按修改时间更新、 mapdb 降级触发时机 需要单独的制定降级策略,策略关键的参数可以配置在配置中心,达到阈值则触发降级策略。 localCache 内存缓存,配合中心进行配置开启开关,本地缓存是最后一道屏障。

    1.3K31编辑于 2023-08-17
  • 来自专栏后端技术探索

    高并发高性能分布式框架从无到有微服务架构设计分享

    MapDBmapdb是一个内嵌的纯java的数据库,提供了并发的HashMap、TreeMap、Queue,可以基于堆外或者磁盘来存储数据 高并发-应用缓存- 堆外缓存 即缓存数据存储在堆外内存,可以减少 有Ehcache 3.x、MapDB实现 2. 磁盘缓存 即缓存数据存储在磁道上,在JVM重启时数据还存在的,而堆缓存/堆外缓存数据会丢失,需要重新加载。 有Ehcache 3.x、MapDB实现 3.

    1.3K10发布于 2018-08-09
  • 来自专栏用户7621540的专栏

    你所不知道的堆外缓存

    目前在市面上,有诸多的缓存组件,比如mapdb,ohc,ehcache3等,但是由于ehcache3收费,所以这里不做讨论,主要讨论mapdb和ohc这两个。 benchmark结果如下: 从上面的结果可以看出,ohc属于性能怪兽类型,性能十倍于mapdb。而且由于ohc本身支持entry过期,但是mapdb不支持。 整体类结构图如下(考虑到扩展性,暂时将mapdb加入到了结构图中): 从整体的类组织结构图看来,使用了策略模式+模板模式组合的方式来进行。

    88220编辑于 2022-12-17
  • 来自专栏JAVA烂猪皮

    阿里藏经阁天花板:高性能Java架构核心原理手册,一定要偷偷看

    :MyCAT 第9章MySQL性能监控解决方案:Prometheus+Grafana 第10章堆内缓存解决方案:Java堆内缓存与Guava Cache 第11章堆外缓存与磁盘缓存解决方案:MapDB

    52140编辑于 2022-04-02
  • 来自专栏Java与Android技术栈

    堆外内存及其在 RxCache 中的使用

    其实,已经有很多缓存框架都支持堆外内存,例如 Ehcache、MapDB 等。RxCache 目前已经有了 MapDB 的模块。

    1.7K20发布于 2019-02-22
  • 来自专栏程序猿人

    读源码——Guava-Cache

    常见的实现有Cuava Cache、Ehcache 3.x、MapDB; 堆外缓存:即缓存数据存储在jvm堆外的内存中;优点是:降低了GC压力,缺点是:每次读取数据都需要对数据序列化和反序列化,速度降低了不少 ,可以使用Ehcache 3.x、MapDB实现; 磁盘缓存:即缓存数据存储在磁盘上,在JVM重启的时候数据也还是在的,而堆缓存/堆外缓存的数据会丢失,需要重新加载。 可以使用Encache、MapDB实现; 分布式缓存:以上几个缓存都存在多实例情况下数据不一致和单机容量的问题。

    1K20发布于 2020-08-11
  • 来自专栏技术杂记

    Mycat 基础3

    mycat/lib/guava-18.0.jar mycat/lib/libwrapper-linux-x86-32.so mycat/lib/netty-3.7.0.Final.jar mycat/lib/mapdb ├── libwrapper-linux-x86-32.so │ ├── libwrapper-linux-x86-64.so │ ├── log4j-1.2.17.jar │ ├── mapdb

    42810编辑于 2021-12-03
  • 来自专栏前端下午茶

    JS中的柯里化

    handler); } var mapSQ = currying(map, square); mapSQ([1, 2, 3, 4, 5]); mapSQ([6, 7, 8, 9, 10]); var mapDB = currying(map, dubble); mapDB([1, 2, 3, 4, 5]); mapDB([6, 7, 8, 9, 10]); 可以看到这里柯里化方法的使用和偏函数比较类似,顺便回顾一下偏函数

    5.7K20发布于 2018-10-22
  • 来自专栏DevOps持续交付

    Jenkinsclient系列教程之查看基本信息(二)

    SCM API Plugin 2.6.3 mapdb-api MapDB API Plugin 1.0.9.0

    1.9K10发布于 2020-06-18
  • 来自专栏JAVA乐园

    亿级流量网站构架核心技术

    代理服务器开启缓存 广域网: 源站及源站网络: 并发化 方式 应用级缓存:缓存回收策略(空间/容量/时间),缓存回收算法(FIFO/LRU/LFU),java堆/java堆外/磁盘缓存,Guava/Ehcache/MapDB )、弱引用(相当于软引用,更短的生命周期) 回收算法:FIFO先进先出、LRU最少使用、LFU最不常用 堆缓存(Gauva Cache, Ehcache 3.x)、堆外缓存(Ehcache 3.x, MapDB 3.X)、磁盘缓存(Ehcache 3.x, MapDB 3.X)、分布式缓存(Redis, Ehcache 3.x + Terracotta server)、多级缓存 缓存使用模板 三个名词: SoR

    1.2K10发布于 2021-10-08
  • 来自专栏跳跳爸的Abc

    聊聊轻量级本地缓存设计

    本地缓存实现的载体大致有EhCache/MapDB/Guava Cache,相对来说Guava Cache更加轻量一点,考虑到实际情况(key不多,快速上线),我们选择了Guava Cache来实现自己的本地缓存 (EhCache/MapDB如果小伙伴们有兴趣也可以去了解下,还是不错的)。

    99710编辑于 2022-01-18
  • 来自专栏技术杂记

    Mycat 运行与基础操作3

    Final.jar:lib/druid-1.0.14.jar:lib/json-20151123.jar:lib/dom4j-1.6.1.jar:lib/zookeeper-3.4.6.jar:lib/mapdb

    40610编辑于 2021-12-03
  • 来自专栏goweb

    gorm 教程 一

    jinzhu", Age: 20}).First(&user)//// SELECT * FROM users WHERE name = "jinzhu" AND age = 20 LIMIT 1;// Mapdb.Where Name: "jinzhu 2"}).Find(&users)//// SELECT * FROM users WHERE name = 'jinzhu' OR name = 'jinzhu 2';// Mapdb.Where jinzhu" AND age > 20;// Structdb.Find(&users, User{Age: 20})//// SELECT * FROM users WHERE age = 20;// Mapdb.Find

    80200编辑于 2024-02-01
领券