{"id":21965855,"url":"https://github.com/dasebe/libvmod-cacheadmission","last_synced_at":"2026-02-09T02:02:08.706Z","repository":{"id":92430032,"uuid":"72771221","full_name":"dasebe/libvmod-cacheadmission","owner":"dasebe","description":" A Varnish VMOD for cache admission policies.","archived":false,"fork":false,"pushed_at":"2016-11-07T12:54:40.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-03T03:29:37.083Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"M4","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dasebe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-03T17:44:38.000Z","updated_at":"2017-02-15T08:26:22.000Z","dependencies_parsed_at":"2023-03-10T11:00:29.956Z","dependency_job_id":null,"html_url":"https://github.com/dasebe/libvmod-cacheadmission","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dasebe/libvmod-cacheadmission","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dasebe%2Flibvmod-cacheadmission","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dasebe%2Flibvmod-cacheadmission/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dasebe%2Flibvmod-cacheadmission/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dasebe%2Flibvmod-cacheadmission/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dasebe","download_url":"https://codeload.github.com/dasebe/libvmod-cacheadmission/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dasebe%2Flibvmod-cacheadmission/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29254303,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T01:52:29.835Z","status":"online","status_checked_at":"2026-02-09T02:00:09.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-29T12:52:52.374Z","updated_at":"2026-02-09T02:02:08.678Z","avatar_url":"https://github.com/dasebe.png","language":"M4","funding_links":[],"categories":[],"sub_categories":[],"readme":"# libvmod-cacheadmission\n\n## description\n\nCache admission policies for memory web cache based on Varnish. These policies seek to prevent admitting objects that are large but unpopular (aka. \"one-hit-wonders\"), and thus would not contribute to the hit ratio.\n\nThe most simple cache admission policy are a) admitting after N requests, and b) admitting an object if its size is below a threshold. Unfortunately, a) has significant overhead (counting the number of requests per object), and b) only helps for outliers (really large objects).\n\nThese policies can be combined by using an admission probability that is decreasing with the object size. For example, small objects are admitted (in expectation) after two requests, and large objects after 100 requests. A natural probability function is the class of exponential functions (with parameter c):\n\n    admission_probability(size) = exp(-size/c)\n\nThis repo implements such an admission probability for Varnish, either as implemented in VCL with inline c, or as a VMOD (currently the VMOD is outdated and incomplete).\n\n## VCL\n\nCheckout ExpLRU.vcl from the \"vcl\" folder. Set your backend, and start varnish with\n\n    varnishd ... -f ExpLRU.vcl -n -p vcc_allow_inline_c=on ...\n\nThe default parameter is c=32KB. Feel free to experiment.\n\n## VMOD\n\nSee folder \"vmod\".\n\nIf you installed varnish to \"/usr/local/varnish/\" (like me), you first have to point to this path with:\n\n    export PKG_CONFIG_PATH=/usr/local/varnish/lib/pkgconfig\n\nThen (assuming the same path):\n\n    ./autogen.sh --prefix=/usr/local/varnish/\n    ./configure\n    make\n    make install\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdasebe%2Flibvmod-cacheadmission","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdasebe%2Flibvmod-cacheadmission","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdasebe%2Flibvmod-cacheadmission/lists"}