# 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