Download the PHP package yiisoft/cache without Composer

On this page you can find all versions of the php package yiisoft/cache. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package cache

Yii Caching Library


Latest Stable Version Total Downloads Build status Code Coverage Mutation testing badge static analysis psalm-level type-coverage

This library is a wrapper around PSR-16 compatible caching libraries providing own features. It is used in Yii Framework but is usable separately.

Features

Requirements

Installation

The package could be installed with composer:

Configuration

There are two ways to get cache instance. If you need PSR-16 instance, you can simply create it:

In order to set a global key prefix:

If you need a simpler yet more powerful way to cache values based on recomputation callbacks use getOrSet() and remove(), additional features such as invalidation dependencies and "Probably early expiration" stampede prevention, you should wrap PSR-16 cache instance with \Yiisoft\Cache\Cache:

Set a default TTL:

General usage

Typical PSR-16 cache usage is the following:

In order to delete value you can use:

To work with values in a more efficient manner, batch operations should be used:

When using extended cache i.e. PSR-16 cache wrapped with \Yiisoft\Cache\Cache, you can use alternative syntax that is less repetitive:

Normalization of the key occurs using the Yiisoft\Cache\CacheKeyNormalizer.

In order to delete value you can use:

You can use PSR-16 methods the following way, but remember that getting and setting the cache separately violates the "Probably early expiration" algorithm.

Invalidation dependencies

When using \Yiisoft\Cache\Cache, additionally to TTL for getOrSet() method you can specify a dependency that may trigger cache invalidation. Below is an example using tag dependency:

Other dependencies:

You may combine multiple dependencies using Yiisoft\Cache\Dependency\AnyDependency or Yiisoft\Cache\Dependency\AllDependencies.

In order to implement your own dependency extend from Yiisoft\Cache\Dependency\Dependency.

Cache stampede prevention

A cache stampede is a type of cascading failure that can occur when massively parallel computing systems with caching mechanisms come under very high load. This behaviour is sometimes also called dog-piling. The \Yiisoft\Cache\Cache uses a built-in "Probably early expiration" algorithm that prevents cache stampede. This algorithm randomly fakes a cache miss for one user while others are still served the cached value. You can control its behavior with the fifth optional parameter of getOrSet(), which is a float value called $beta. By default, beta is 1.0, which is sufficient in most cases. The higher the value the earlier cache will be re-created.

Cache handlers

Below the handler refers to the implementations of PSR-16.

This package contains two handlers:

Extra cache handlers are implemented as separate packages:

Data serialization

The package provides Yiisoft\Cache\Serializer\SerializerInterface for data serialization. It can be useful in database, file or Redis cache implementations. Out of box, you can use Yiisoft\Cache\Serializer\PhpSerializer that works via PHP functions serialize() and unserialize(). You can make own implementation, for example:

shell ./vendor/bin/phpunit shell ./vendor/bin/roave-infection-static-analysis-plugin shell ./vendor/bin/psalm



## License

The Yii Caching Library is free software. It is released under the terms of the BSD License.
Please see [`LICENSE`](./LICENSE.md) for more information.

Maintained by [Yii Software](https://www.yiiframework.com/).

## Support the project

[![Open Collective](https://img.shields.io/badge/Open%20Collective-sponsor-7eadf1?logo=open%20collective&logoColor=7eadf1&labelColor=555555)](https://opencollective.com/yiisoft)

## Follow updates

[![Official website](https://img.shields.io/badge/Powered_by-Yii_Framework-green.svg?style=flat)](https://www.yiiframework.com/)
[![Twitter](https://img.shields.io/badge/twitter-follow-1DA1F2?logo=twitter&logoColor=1DA1F2&labelColor=555555?style=flat)](https://twitter.com/yiiframework)
[![Telegram](https://img.shields.io/badge/telegram-join-1DA1F2?style=flat&logo=telegram)](https://t.me/yii3ru)
[![Facebook](https://img.shields.io/badge/facebook-join-1DA1F2?style=flat&logo=facebook&logoColor=ffffff)](https://www.facebook.com/groups/yiitalk)
[![Slack](https://img.shields.io/badge/slack-join-1DA1F2?style=flat&logo=slack)](https://yiiframework.com/go/slack)

All versions of cache with dependencies

PHP Build Version
Package Version
Requires php Version ^8.0
ext-json Version *
ext-mbstring Version *
psr/simple-cache Version ^2.0|^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package yiisoft/cache contains the following files

Loading the files please wait ....