PHPackages                             karelwintersky/arris.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. karelwintersky/arris.cache

ActiveLibrary[Caching](/categories/caching)

karelwintersky/arris.cache
==========================

Arris µFramework Cache Engine

1.0.0(10mo ago)0944[9 issues](https://github.com/ArrisFramework/Arris.Cache/issues)MITPHPPHP ^8

Since Nov 2Pushed 10mo ago1 watchersCompare

[ Source](https://github.com/ArrisFramework/Arris.Cache)[ Packagist](https://packagist.org/packages/karelwintersky/arris.cache)[ RSS](/packages/karelwintersky-arriscache/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (8)Versions (20)Used By (0)

Arris.Cache
===========

[](#arriscache)

Arris µFramework Cache Engine

```
use Arris\Cache\Cache;
use Arris\DB;
use Arris\AppLogger;

$pdo_config = (new \Arris\Database\Config())
    ->setUsername('root')
    ->setPassword('password')
    ->setDatabase('testdatabase');
$pdo = $pdo_config->connect();

Cache::init(PDO: $pdo);

$v = 5;

Cache::addRule(
    'districts',
    source: Cache::RULE_SOURCE_SQL,
    action: 'SELECT id, name FROM districts WHERE hidden = 0 ORDER BY id ASC',
    ttl: Cache::TIME_FULL_DAY
);

Cache::addRule(
    'rubrics',
    source: Cache::RULE_SOURCE_SQL,
    action: 'SELECT id, name, url FROM rubrics WHERE hidden = 0 ORDER BY sorder',
    ttl: Cache::TIME_FULL_DAY
);

Cache::addRule(
    'data',
    source: Cache::RULE_SOURCE_CALLBACK,
    action: static function() use ($v){ return $v; },
);

Cache::addRule(
    'callback',
    source: Cache::RULE_SOURCE_CALLBACK,
    action: [ "TestClass@getData", [ 1000000 ] ]
);

Cache::addRule(
    'raw',
    source: Cache::RULE_SOURCE_RAW,
    action: [ 1 => 2, 3 => "b"]
);

var_dump();

var_dump(
    Cache::redis()->keys('*')
);

Cache::redisPush("something", [ 1 => 2, 3 => "b"]);
Cache::redis()->push("something_2", [ 1 => 2, 3 => "b"]);
```

Правило типа 'callback' может быть:

- `Class@method`
- `Class::method`
- `customFunction`
- instance of `Closure`

Параметры передаются **всегда** массивом.

TODO
====

[](#todo)

- нужен ли кастомный декодер json?

---

ToDo - legacy code
==================

[](#todo---legacy-code)

```
public static function flush(string $key, bool $clean_redis = true)
{
    $deleted = [];
    if (strpos($key, '*') === false) {
        self::unset($key);
        if (self::$redis_connector && $clean_redis) {
            self::$redis_connector->del($key);
        }
        return $key;
    } else {
        $custom_mask = self::createMask($key);
        $custom_list = preg_grep($custom_mask, self::getAllKeys());
        foreach ($custom_list as $k) {
            $deleted[] = self::flush($k, $clean_redis);
        }
        // return $custom_mask;
        return $deleted;
    }
}
```

```
namespace Arris\Cache;

/**
 * Interface, not trait ('cause constants in traits supported since PHP 8.2)
 */
interface RedisDefaultCredentials
{
    public const REDIS_DEFAULT_HOST     = '127.0.0.1';
    public const REDIS_DEFAULT_PORT     = 6379;
    public const REDIS_DEFAULT_DB       = 0;
    public const REDIS_DEFAULT_PASSWORD = null;
}
```

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance53

Moderate activity, may be stable

Popularity16

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

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

Every ~73 days

Recently: every ~229 days

Total

19

Last Release

329d ago

Major Versions

0.99.0 → 1.0.02025-06-16

PHP version history (4 changes)v0.1.0PHP &gt;=7.3.0

v0.6.0PHP &gt;=7.4.0

0.99.0PHP ^7.4 | 8.\*

1.0.0PHP ^8

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2164874?v=4)[Karel Wintersky](/maintainers/KarelWintersky)[@KarelWintersky](https://github.com/KarelWintersky)

---

Top Contributors

[![KarelWintersky](https://avatars.githubusercontent.com/u/2164874?v=4)](https://github.com/KarelWintersky "KarelWintersky (18 commits)")

---

Tags

cachemicroframework-arrisredis

### Embed Badge

![Health badge](/badges/karelwintersky-arriscache/health.svg)

```
[![Health](https://phpackages.com/badges/karelwintersky-arriscache/health.svg)](https://phpackages.com/packages/karelwintersky-arriscache)
```

###  Alternatives

[symfony/cache

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

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

Common classes for PSR-6 adapters

11124.4M38](/packages/cache-adapter-common)[amphp/redis

Efficient asynchronous communication with Redis servers, enabling scalable and responsive data storage and retrieval.

165634.7k44](/packages/amphp-redis)[ethanhann/redisearch-php

239113.6k1](/packages/ethanhann-redisearch-php)[neos/cache

Neos Cache Framework

102.0M31](/packages/neos-cache)[pdffiller/qless-php

PHP Bindings for qless

29113.2k1](/packages/pdffiller-qless-php)

PHPackages © 2026

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