Welcome to the Momento Drop-in Replacement for PhpRedis! This package is a wrapper around PhpRedis allowing for integration with Momento cache. You can use this as a direct replacement for PhpRedis, while leveraging the benefits of Momento serverless cache.
<?php
declare(strict_types=1);
use Momento\Auth\CredentialProvider;
use Momento\Cache\CacheClient;
use Momento\Cache\MomentoCacheClient;
use Momento\Config\Configurations\Laptop;
use Momento\Logging\StderrLoggerFactory;
require "vendor/autoload.php";
$CACHE_NAME = uniqid("php-example-");
$ITEM_DEFAULT_TTL_SECONDS = 60;
$KEY = uniqid("myKey-");
$VALUE = uniqid("myValue-");
// Create a Momento cache client
$authProvider = CredentialProvider::fromEnvironmentVariable("MOMENTO_API_KEY");
$configuration = Laptop::latest(new StderrLoggerFactory());
$client = new CacheClient($configuration, $authProvider, $ITEM_DEFAULT_TTL_SECONDS);
$logger = $configuration->getLoggerFactory()->getLogger("ex:");
// Create a Redis client backed by Momento cache client over the cache
$momentoCacheClient = new MomentoCacheClient($client, $CACHE_NAME);
// IMPORTANT: The example assumes that the cache ($CACHE_NAME) is already created.
// To create a cache, you can use the Momento Console (https://console.gomomento.com/) or SDK methods.
// Refer to the documentation (https://docs.momentohq.com/platform/sdks/php/cache) for details.
// Perform operations vs Momento as if using a regular Redis client
$setResult = $momentoCacheClient->set($KEY, $VALUE);
$logger->info("Set result: " . $setResult . "\n");
$getResult = $momentoCacheClient->get($KEY);
$logger->info("Get result: " . $getResult . "\n");
To get started with the drop-in client, you will need a Momento API key. You can get one from the Momento Console.
The Momento Drop-in Replacement for Phpredis is available on packagist.org: momento-php-redis
Working example projects, with all required build configuration files, are available in the examples directory.
If you are interested in contributing to the SDK, please see the CONTRIBUTING docs.
This product includes PHP software, freely available from http://www.php.net/software/
For more info, visit our website at https://gomomento.com!