栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

第一篇:从0到1了解数据库——以MapDB为例

第一篇:从0到1了解数据库——以MapDB为例

1、MapDB使用

MapDB是一个基于(Apache 2.0 licensed)开源的Java嵌入式数据库引擎和集合框架。他支持针对Map,Set,Queues,Bitmaps 的范围查询,数据过期,压缩,堆外存储和流的操作。MapDB可能是Java最快的数据库,性能就像操作java中的集合一样。他也支持一些高级功能如:ACID事务,快照和增量备份等。

2.使用

      org.mapdb
      mapdb
      3.0.7
3.测试例子

(1)基于内存的: getMemoryDB 获取到的数据为空

    @Test
    public void putMemoryDB() {
        DB db = DBMaker.memoryDB().make();
        ConcurrentMap map = db.hashMap("map").createOrOpen();
        String key = "Hello";
        String val = "simple";
        map.put(key, val);
        System.out.println("第1次取值," + map.get(key));
    }

    @Test
    public void getMemoryDB() {
        DB db = DBMaker.memoryDB().make();
        ConcurrentMap map = db.hashMap("map").createOrOpen();
        String key = "Hello";
        System.out.println("第1次取值," + map.get(key));
    }

result:

putMemoryDB 第1次取值,simple

getMemoryDB 第1次取值,null

(2)基于磁盘:

    @Test
    public void putFileDB() {
        DB db = DBMaker.fileDB("d:/opt/file.db").make();
        ConcurrentMap map = db.hashMap("map").createOrOpen();
        map.put("something", "here");
        System.out.println("putFileDB:" + map.get("something"));
        db.close();
    }

    @Test
    public void getFileDB() {
        DB db = DBMaker.fileDB("d:/opt/file.db").make();
        ConcurrentMap map = db.hashMap("map").createOrOpen();
        System.out.println("getFileDB:" + map.get("something"));
        db.close();
    }

result:

putFileDB:here

getFileDB:here

 (3)基于磁盘和内存:

    @Test
    public void putMemoryFileDB() {
        DB db = DBMaker
                .fileDB("d:/opt/file.db")
                .fileMmapEnable()
                .make();
        ConcurrentMap map = db
                .hashMap("testMap", Serializer.STRING, Serializer.STRING)
                .createOrOpen();
        map.put("name", "xiaobai");
        db.close();
    }

    @Test
    public void getMemoryFileDB() {
        DB db = DBMaker
                .fileDB("d:/opt/file.db")
                .fileMmapEnable()
                .make();
        ConcurrentMap map = db
                .hashMap("testMap", Serializer.STRING, Serializer.STRING)
                .createOrOpen();
        System.out.println("getMemoryFileDB:"+map.get("name"));
        db.close();
    }
4.MapDB文档

MapDB中文文档_bestf2012的博客-CSDN博客_mapdb

MapDB - MapDB

5.MapDB性能测试

java 堆内存 map 和MapDB 对比

MapDB使用入门 - 水木桶 - 博客园

MapDb学习笔记_SmileJosiah的博客-程序员宅基地 - 程序员宅基地 (cxyzjd.com)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/326976.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号