Skip to content

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

License

Notifications You must be signed in to change notification settings

rhinouser0/riverpass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简体中文 | English

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •