https://github.com/fizzed/tokyocabinet
Java 8+ distribution (along with native libs) of the TokyoCabinet key value embedded database
https://github.com/fizzed/tokyocabinet
java tokyocabinet
Last synced: about 1 month ago
JSON representation
Java 8+ distribution (along with native libs) of the TokyoCabinet key value embedded database
- Host: GitHub
- URL: https://github.com/fizzed/tokyocabinet
- Owner: fizzed
- Created: 2022-12-13T21:34:33.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-01-21T22:29:09.000Z (4 months ago)
- Last Synced: 2025-03-27T03:51:21.507Z (about 2 months ago)
- Topics: java, tokyocabinet
- Language: C
- Homepage:
- Size: 18.9 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# TokyoCabinet & Native Libs for Java by Fizzed
[](https://mvnrepository.com/artifact/com.fizzed/tokyocabinet)
The following Java versions and platforms are tested using GitHub workflows:
[](https://github.com/fizzed/tokyocabinet/actions/workflows/java8.yaml)
[](https://github.com/fizzed/tokyocabinet/actions/workflows/java11.yaml)
[](https://github.com/fizzed/tokyocabinet/actions/workflows/java17.yaml)
[](https://github.com/fizzed/tokyocabinet/actions/workflows/java21.yaml)[](https://github.com/fizzed/tokyocabinet/actions/workflows/java11.yaml)
[](https://github.com/fizzed/tokyocabinet/actions/workflows/macos-arm64.yaml)The following platforms are tested using the [Fizzed, Inc.](http://fizzed.com) build system:
[](buildx-results.txt)
[](buildx-results.txt)
[](buildx-results.txt)
[](buildx-results.txt)
[](buildx-results.txt)
[](buildx-results.txt)
[](buildx-results.txt)## Overview
TokyoCabinet remains a workhorse key-value store that still represents excellent performance vs. modern popular embedded
key-value stores such as LevelDB or RocksDB. This is a published version of the library for Java 8+, along with native libs that
are automatically extracted at runtime.The Java library is as unmodified as possible from the original TokyoCabinet, but a few changes were made to automatically
extract the library at runtime.## Sponsorship & Support

Project by [Fizzed, Inc.](http://fizzed.com) (Follow on Twitter: [@fizzed_inc](http://twitter.com/fizzed_inc))
**Developing and maintaining opensource projects requires significant time.** If you find this project useful or need
commercial support, we'd love to chat. Drop us an email at [[email protected]](mailto:[email protected])Project sponsors may include the following benefits:
- Priority support (outside of Github)
- Feature development & roadmap
- Priority bug fixes
- Privately hosted continuous integration tests for their unique edge or use cases## Usage
Add the following to your maven POM file for Linux x64
```xml
com.fizzed
tokyocabinet-linux-x64
0.0.16```
Or MacOS arm64 (Apple silicon)
```xml
com.fizzed
tokyocabinet-macos-arm64
0.0.16```
Or for all operating system & arches
```xml
com.fizzed
tokyocabinet-all-natives
0.0.16```
To simplify versions, you may optionally want to import our BOM (bill of materials)
```xml
com.fizzed
tokyocabinet-bom
0.0.16
import
pom
```
## Native Libs
Zip and Bzip2 libraries must be installed for this version to run.
sudo apt install zlib1g libbz2 # e.g. on ubuntu/debian
sudo apk add zlib bzip2 # e.g. on alpine| OS Arch | Artifact | Info |
|------------------|-------------------------------|-----------------------------------|
| Linux x64 | tokyocabinet-linux-x64 | built on ubuntu 16.04, glibc 2.23 |
| Linux arm64 | tokyocabinet-linux-arm64 | built on ubuntu 16.04, glibc 2.23 |
| Linux armhf | tokyocabinet-linux-armhf | built on ubuntu 16.04, glibc 2.23 |
| Linux armel | tokyocabinet-linux-armel | built on ubuntu 16.04, glibc 2.23 |
| Linux MUSL x64 | tokyocabinet-linux_musl-x64 | built on alpine 3.11 |
| Linux MUSL arm64 | tokyocabinet-linux_musl-arm64 | built on alpine 3.11 |
| Linux riscv64 | tokyocabinet-linux-riscv64 | built on ubuntu 18.04, glibc 2.31 |
| MacOS x64 | tokyocabinet-macos-x64 | built on macos 10.13 high sierra |
| MacOS arm64 | tokyocabinet-macos-arm64 | built on macos 12 monterey |
| FreeBSD x64 | tkrzw-freebsd-x64 | targets freebsd 12+ |
| OpenBSD x64 | tkrzw-openbsd-x64 | targets openbsd 7.5+ |## Development
We use a simple, yet quite sophisticated build system for fast, local builds across operating system and architectures.
For linux targets, we leverage docker containers either running locally on an x86_64 host, or remotely on dedicated
build machines running on arm64, macos x64, and macos arm64.To build containers, you'll want to edit setup/blaze.java and comment out/edit which platforms you'd like to build for,
or potentially change them running on a remote machine via SSH. Once you're happy with what you want to build for:java -jar cross_build_containers
java -jar cross_build_natives
java -jar cross_testsFor information on registering your x86_64 host to run other architectures (e.g. riscv64 or aarch64), please see
the readme for https://github.com/fizzed/buildx## License
Copyright (C) 2020+ Fizzed, Inc.
This work is licensed under the Apache License, Version 2.0. See LICENSE for details.