PHPackages                             flownative/redis-sentinel - 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. flownative/redis-sentinel

ActiveNeos-package[Caching](/categories/caching)

flownative/redis-sentinel
=========================

Flow Redis cache backend with Sentinel support

v2.3.0(1y ago)521.1k↓66.1%3MITPHPPHP ^8.1CI failing

Since Nov 27Pushed 1y ago2 watchersCompare

[ Source](https://github.com/flownative/flow-redis-sentinel)[ Packagist](https://packagist.org/packages/flownative/redis-sentinel)[ GitHub Sponsors](https://github.com/robertlemke)[ RSS](/packages/flownative-redis-sentinel/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (10)Dependencies (5)Versions (23)Used By (0)

[![MIT license](https://camo.githubusercontent.com/4661abfe916186acde514558e7f040833cb63ba7098401a51ce339cbb2b4cf9e/687474703a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e737667)](http://opensource.org/licenses/MIT)[![Packagist](https://camo.githubusercontent.com/779936d12f2b1ca3ee00cc2cec745e8b07d3b439fa6ed49c38ddcfb0827cfbc8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f666c6f776e61746976652f72656469732d73656e74696e656c2e737667)](https://packagist.org/packages/flownative/redis-sentinel)[![Maintenance level: Love](https://camo.githubusercontent.com/b24fe73a7439225808a806c9f1032014adf4933b5774648c0174cf0de1d56401/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d61696e74656e616e63652d2545322539392541312545322539392541312545322539392541312d6666363962342e737667)](https://www.flownative.com/en/products/open-source.html)

Flow Redis Cache Backend with Sentinel Support
==============================================

[](#flow-redis-cache-backend-with-sentinel-support)

This package provides a Redis cache backend with [Sentinel](https://redis.io/topics/sentinel) support.

Installation
------------

[](#installation)

The package is installed as a regular Flow package via Composer. For your existing project, simply include `flownative/redis-sentinel` into the dependencies of your Flow or Neos distribution:

```
    $ composer require flownative/redis-sentinel
```

Usage
-----

[](#usage)

The `RedisBackend` contained in this package can be used as a drop-in-replacement for the Redis backend provided by the neos/cache package.

For regular use with a standalone Redis server, provide configuration in your `Caches.yaml` like so:

```
Flow_Mvc_Routing_Route:
    backend: 'Flownative\RedisSentinel\RedisBackend'
    backendOptions: &redisBackendOptions
        hostname: '%env:REDIS_HOST%'
        password: '%env:REDIS_PASSWORD%'
        port: '%env:REDIS_PORT%'
        database: 0
        timeout: 5
        readWriteTimeout: 0.5

Flow_Mvc_Routing_Resolve:
    backend: 'Flownative\RedisSentinel\RedisBackend'
    backendOptions: *redisBackendOptions
    …
```

Of course you can also set concrete values instead of using environment variables.

Note that you can set two different timeouts:

- "timeout" (default: 5) specifies the time in seconds to wait while connecting to Redis
- "readWriteTimeout" (default: 1) specifies the time to wait during a read or write operation

You can specify float numbers as timeout values. For example, use `0.5` for setting the timeout to half a second.

When Redis is running in a high availability setup with Sentinel servers, you need to configure the Redis Backend to access the Sentinel servers instead of the actual Redis nodes.

Depending on your setup, this may look like the following:

```
Flow_Mvc_Routing_Route:
    backend: 'Flownative\RedisSentinel\RedisBackend'
    backendOptions: &backendOptions
        sentinels:
            - 'redis://10.101.213.145:26379'
            - 'redis://10.101.213.146:26379'
            - 'redis://10.101.213.147:26379'
        service: 'mymaster'
        password: 'a-very-long-password'
        database: 0
        timeout: 0.5
        readWriteTimeout: 0.1

Flow_Mvc_Routing_Resolve:
    backend: 'Flownative\RedisSentinel\RedisBackend'
    backendOptions: *backendOptions
    …
```

Note that "service" is the name of your Redis cluster (which is "mymaster" in most default configurations).

This package will use the same password for all connections, there is currently no support for specifying different passwords for Sentinel and client servers.

Logging
-------

[](#logging)

This cache backend will log errors, such as connection timeouts or other problems while communicating with the Redis servers.

If a connection error occurs during a request, it is likely, that more errors of the same type will happen. Therefore, those messages will, by default, be de-duplicated: If the messages of an error is identical with one which already has been logged during the current CLI / web request, it will not be logged another time.

You can disable de-duplication logged errors for debugging purposes by setting the respective backend option to false:

```
Flow_Mvc_Routing_Route:
    backend: 'Flownative\RedisSentinel\RedisBackend'
    backendOptions:
        database: 0
        …
        deduplicateErrors: false
```

If you don't want errors being logged – for example, because you log errors via the MultiBackend – you can turn off logging for this cache backend:

```
Flow_Mvc_Routing_Route:
    backend: 'Flownative\RedisSentinel\RedisBackend'
    backendOptions:
        database: 0
        …
        logErrors: false
```

Command Line Tool
-----------------

[](#command-line-tool)

This package provides CLI commands which can help debugging configuration or connectivity issues.

### redissentinel:list

[](#redissentinellist)

Displays configuration of Redis Sentinel cache backends, including those backends which are defined as a sub-backend of a Multi Backend.

[![Screenshot](./Documentation/Screenshot-ListCommand.png)](./Documentation/Screenshot-ListCommand.png)

### redissentinel:connect

[](#redissentinelconnect)

Tries to connect with the specified cache. If the cache is using a Multi Backend, this command will skip the Multi Backend behavior and instantiate the Redis Sentinel Backend directly. Errors are display and explained, if possible.

[![Screenshot](./Documentation/Screenshot-ConnectCommand.png)](./Documentation/Screenshot-ConnectCommand.png)

[![Screenshot](./Documentation/Screenshot-ConnectCommandWithError.png)](./Documentation/Screenshot-ConnectCommandWithError.png)

Tests
-----

[](#tests)

You can adjust the host, port and password used in the functional tests using the environment variables `REDIS_HOST`, `REDIS_PORT` and `REDIS_PASSWORD`.

Credits
-------

[](#credits)

This cache backend was developed by Robert Lemke of Flownative, based on the Neos Flow Redis Backend, originally created by Christopher Hlubek and later improved by the Neos core team.

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance45

Moderate activity, may be stable

Popularity31

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 77.1% 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 ~94 days

Recently: every ~174 days

Total

22

Last Release

432d ago

Major Versions

0.2.3 → v1.0.02022-09-06

v1.2.2 → v2.0.02022-11-24

PHP version history (4 changes)v1.0.0PHP 7.4.\* || 8.0.\* || 8.1.\*

v2.0.4PHP 7.4.\* || 8.0.\* || 8.1.\* || 8.2.\*

v2.1.0PHP 8.1.\* || 8.2.\* || 8.3.\*

v2.2.0PHP ^8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/95582?v=4)[Robert Lemke](/maintainers/robertlemke)[@robertlemke](https://github.com/robertlemke)

![](https://avatars.githubusercontent.com/u/10280881?v=4)[Flownative](/maintainers/flownative)[@flownative](https://github.com/flownative)

---

Top Contributors

[![robertlemke](https://avatars.githubusercontent.com/u/95582?v=4)](https://github.com/robertlemke "robertlemke (81 commits)")[![kdambekalns](https://avatars.githubusercontent.com/u/95873?v=4)](https://github.com/kdambekalns "kdambekalns (12 commits)")[![daniellienert](https://avatars.githubusercontent.com/u/642226?v=4)](https://github.com/daniellienert "daniellienert (11 commits)")[![mficzel](https://avatars.githubusercontent.com/u/1309380?v=4)](https://github.com/mficzel "mficzel (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/flownative-redis-sentinel/health.svg)

```
[![Health](https://phpackages.com/badges/flownative-redis-sentinel/health.svg)](https://phpackages.com/packages/flownative-redis-sentinel)
```

###  Alternatives

[unopim/unopim

UnoPim Laravel PIM

10.5k2.4k](/packages/unopim-unopim)[neos/media

The Media package

101.2M53](/packages/neos-media)[neos/neos-development-collection

Neos packages in a joined repository for pull requests.

267103.9k1](/packages/neos-neos-development-collection)[rhubarbgroup/redis-cache

A persistent object cache backend for WordPress powered by Redis. Supports Predis, PhpRedis, Relay, replication, sentinels, clustering and WP-CLI.

527101.4k1](/packages/rhubarbgroup-redis-cache)[symfony-bundles/redis-bundle

Symfony Redis Bundle

291.2M7](/packages/symfony-bundles-redis-bundle)[millipress/millicache

WordPress Full-Page Cache based on Rules &amp; Flags. Delivers flexible, scalable caching workflows backed by Redis and ValKey in-memory stores.

722.9k2](/packages/millipress-millicache)

PHPackages © 2026

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