# hashdb **Repository Path**: sofical/hashdb ## Basic Information - **Project Name**: hashdb - **Description**: 适用于小数据量的JAVA Hash DB。 典型应用场景:有持久化的缓存需求,不希望要引入第三方中间件(如redis)的小范围应用场景。如,手机验证码。 - **Primary Language**: Java - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-08-03 - **Last Updated**: 2024-07-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HashDB #### 介绍 适用于小数据量的JAVA Hash DB。 典型应用场景:有持久化的缓存需求,不希望要引入第三方中间件(如redis)的小范围应用场景。如,手机验证码。 #### 使用说明 1. 配置: package com.restphp.java.hashdb.test; import com.restphp.java.hashdb.HashDbConfig; public class HashDbConfigImpl implements HashDbConfig { /** * 获取缓存本地落地文件目录. * @return 文件目录. */ @Override public String getDbRoot() { return "D:\\var"; } } 2. 在默认表中设置一个缓存: HashDb hashDb = new HashDb(new HashDbConfigImpl()); hashDb.set("test", "default test"); 3. 选择表并设置一个缓存: HashDb hashDb = new HashDb(new HashDbConfigImpl()); hashDb.select("user").set("first", "小明"); //设置超时间为60秒 hashDb.select("user").set("second", "小花", 60); 4. 获取缓存: HashDb hashDb = new HashDb(new HashDbConfigImpl()); String defTest = hashDb.select().get("test"); // 或者: hashDb.get("test"); System.out.println("value of default key 'test': " + defTest); String userFirst = hashDb.select("user").get("first"); System.out.println("first user is: " + userFirst); 5. 释放: HashDb hashDb = new HashDb(new HashDbConfigImpl()); hashDb.delete("test"); #### 获取方式 maven仓库: ``` sonatype-nexus-staging Sonatype Nexus Staging http://182.254.148.50:8081/repository/maven-public/ true true ``` 添加依赖: com.restphp.java hashdb 1.0.0-SNAPSHOT #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request