SkillAgentSearch skills...

Riverpass

A handy local disk based cache for hot content from remote storage.

Install / Use

/learn @rhinouser0/Riverpass
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<small> 简体中文 | English </small>

Riverpass | Documentation

GitHub license

A handy file cache service

$ wget http://localhost:getFile?url=$YOUR_REMOTE_URL
  • Cache for hot content from remote cloud object storage(or public image)
  • Extremely simple start and stop command, no heavy configuration
  • Cache item persistence ability: previous items will be reloaded after server restart

Design

Detailed design document

Docker Image

docker load -i oss.tar
  • Load database config in server folder
tar -xvf data.tar

HowTo

  • How to use
    • Enter server folder, run ./oss_docker_start.sh 100, '100' means cache size 100MB. Cache data default flushes to server/localfs_oss/ folder.
    • Use wget <url> command, replacing host path by localhost and cache port. eg.: wget http://localhost:10009/getFile?url=https://raw.githubusercontent.com/open-mmlab/mmdeploy/master/resources/mmdeploy-logo.png
    • Run ./oss_docker_stop.sh to stop the cache. Data will be left on disk.
    • Run ./oss_docker_restart.sh to restart the cache, data and their metadata will be loaded.
  • How to build
    • Enter server/holder folder, run ./oss_start.sh to build the go program and start server for debug.
  • How to contribute

Dependency

  • MySQL 8.0
  • Aliyun OSS SDK

Coming Soon

  • CI and test coverage
  • Stale metadata GC in DB
  • OSS download optimization
  • Object service from other cloud provider
  • Cache eviction algorithm improvement

Contact Us

License

Related Skills

View on GitHub
GitHub Stars15
CategoryContent
Updated2y ago
Forks2

Languages

Go

Security Score

80/100

Audited on Aug 7, 2023

No findings