Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zhongl/ipage
iPage is a light-weight java key-value store lib for message system.
https://github.com/zhongl/ipage
Last synced: 2 months ago
JSON representation
iPage is a light-weight java key-value store lib for message system.
- Host: GitHub
- URL: https://github.com/zhongl/ipage
- Owner: zhongl
- License: apache-2.0
- Created: 2011-11-30T06:36:12.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2021-04-01T09:18:46.000Z (over 3 years ago)
- Last Synced: 2024-10-03T10:48:26.613Z (3 months ago)
- Language: Java
- Homepage:
- Size: 914 KB
- Stars: 42
- Watchers: 5
- Forks: 12
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# What is it?
iPage is a java key-value store library, which is designed for message system.
# Features
* Very fast write by sequence appending
* Random reading by index
* \[A\]synchronize invocation
* Flush By write count or time elpase
* Group commit
* Date recovery after crash
* Garbage data collecting (or Defragment)
* Degrade after OOM
* Monitor and control by JMX## More
Please see [issues](https://github.com/zhongl/iPage/issues?sort=created&direction=desc&state=open&page=1).
# Benchmark
| Case | Times | Total Eplase | Average Elapse | TPS | Concurrency |
|-----------------|-----------|--------------|----------------|-------------|-------------|
| Random get | 1,000,000 | 6.009 s | 6,008 ns | 166444.74 | 8 |
| Async add | 1,000,000 | 24.90 s | 24,904 ns | 40154.19 | 16 |
| Async remove | 1,000,000 | 32.84 s | 32,842 ns | 30448.82 | 16 |
| Sync add | 16,384 | 5.142 s | 313,857 ns | 3186.31 | 32 |* Read and write data is 1KB
## Enviroment
* Linux 2.6.18-164.el5
* OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)
* Intel(R) Xeon(R) CPU E5620 @ 2.40GHz 8 core
* Memory 24GB
* SCSI 1TB# Getting started
## Preconditions
Make sure your enviroment has:
* [Git](http://git-scm.com/)
* [Maven](http://maven.apache.org/)## Run test
> git clone [email protected]:zhongl/iPage.git
> cd iPage
> mvn clean test## Run benchmark
> mvn clean test -Dtest=IPageBenchmark -DargLine="-Xmx512m -Xms512m"
## Usage
Please see:
- [IPageTest](https://github.com/zhongl/iPage/blob/master/src/test/java/com/github/zhongl/api/IPageTest.java)
# More
[Design Doc](https://github.com/zhongl/iPage/blob/master/doc/DESIGN.md)