PHPackages                             michaelesmith/dyndns-processor-cache - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Caching](/categories/caching)
4. /
5. michaelesmith/dyndns-processor-cache

ActiveLibrary[Caching](/categories/caching)

michaelesmith/dyndns-processor-cache
====================================

a processor for the dyndns-kit framework to allow processors to be cached

0.1.0(7y ago)09MITPHP

Since Nov 2Pushed 7y ago1 watchersCompare

[ Source](https://github.com/michaelesmith/dyndns-processor-cache)[ Packagist](https://packagist.org/packages/michaelesmith/dyndns-processor-cache)[ RSS](/packages/michaelesmith-dyndns-processor-cache/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (4)Versions (2)Used By (0)

[![Build Status](https://camo.githubusercontent.com/95dd5f2a25f09565eb0570b4a8905212db2566067874b4115778a2d670450dc0/68747470733a2f2f7472617669732d63692e6f72672f6d69636861656c65736d6974682f64796e646e732d70726f636573736f722d63616368652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/michaelesmith/dyndns-processor-cache)

What is this?
=============

[](#what-is-this)

This is a processor for the dyndns-kit framework to allow other processors to be cached via [PSR-6](https://www.php-fig.org/psr/psr-6/) so that they are only called with new or updated query information. If you don't know what DynDNS-Kit is take a [look](https://github.com/michaelesmith/dyndns-kit).

Install
=======

[](#install)

`composer require "michaelesmith/dyndns-processor-cache"`

You will also need a PSR-6 compatible cache library such as `"cache/cache"` or `"symfony/cache"`.

How do I use it
===============

[](#how-do-i-use-it)

To see a full example usage please refer to the [example project](https://github.com/michaelesmith/dyndns-example).

Basic usage
-----------

[](#basic-usage)

```
$cacheProcessor = new CacheProcessor(
    new JsonProcessor(__DIR__ . '/var/dns.json'),
    new FilesystemCachePool(
        new \League\Flysystem\Filesystem(
            new \League\Flysystem\Adapter\Local(__DIR__ . '/../var/')
        )
    )
);
```

This example uses the [League Flysystem](https://github.com/thephpleague/flysystem) cache library but any one could be used. In this example only the initial request or one with a new hostname or new ip would fall through to the embedded processor. This is useful for processors that tend to be expensive, especially if the data rarely changes which is usually the case with most DynDNS implementations.

Contributing
============

[](#contributing)

Have an idea to make something better? Submit a pull request. PR's make the open source world turn. 🌎 🌏 🌍 ![:octocat:](https://github.githubassets.com/images/icons/emoji/octocat.png ":octocat:") Happy Coding!

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2748d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/181546?v=4)[Michael Smith](/maintainers/michaelesmith)[@michaelesmith](https://github.com/michaelesmith)

---

Top Contributors

[![michaelesmith](https://avatars.githubusercontent.com/u/181546?v=4)](https://github.com/michaelesmith "michaelesmith (3 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/michaelesmith-dyndns-processor-cache/health.svg)

```
[![Health](https://phpackages.com/badges/michaelesmith-dyndns-processor-cache/health.svg)](https://phpackages.com/packages/michaelesmith-dyndns-processor-cache)
```

###  Alternatives

[symfony/cache

Provides extended PSR-6, PSR-16 (and tags) implementations

4.2k348.9M2.5k](/packages/symfony-cache)[symfony/cache-contracts

Generic abstractions related to caching

2.4k308.9M198](/packages/symfony-cache-contracts)[tedivm/stash

The place to keep your cache.

9824.8M124](/packages/tedivm-stash)[league/flysystem-cached-adapter

An adapter decorator to enable meta-data caching.

35426.9M119](/packages/league-flysystem-cached-adapter)[laminas/laminas-cache

Caching implementation with a variety of storage options, as well as codified caching strategies for callbacks, classes, and output

1076.9M130](/packages/laminas-laminas-cache)[cache/adapter-common

Common classes for PSR-6 adapters

11124.4M38](/packages/cache-adapter-common)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
