PHP code example of b1rdex / predis-compressible

1. Go to this page and download the library: Download b1rdex/predis-compressible library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

b1rdex / predis-compressible example snippets




use B1rdex\PredisCompressible\Command\StringGet;
use B1rdex\PredisCompressible\Command\StringGetMultiple;
use B1rdex\PredisCompressible\Command\StringSet;
use B1rdex\PredisCompressible\Command\StringSetExpire;
use B1rdex\PredisCompressible\Command\StringSetMultiple;
use B1rdex\PredisCompressible\Command\StringSetPreserve;
use B1rdex\PredisCompressible\Compressor\ConditionalCompressorWrapper;
use B1rdex\PredisCompressible\Compressor\GzipCompressor;
use B1rdex\PredisCompressible\CompressProcessor;
use Predis\Client;
use Predis\Configuration\OptionsInterface;
use Predis\Profile\Factory;
use Predis\Profile\RedisProfile;

// strings with length > 2048 bytes will be compressed
$compressor = new ConditionalCompressorWrapper(2048, new GzipCompressor());

$client = new Client([], [
    'profile' => static function (OptionsInterface $options) use ($compressor) {
        $profile = Factory::getDefault();
        if ($profile instanceof RedisProfile) {
            $processor = new CompressProcessor($compressor);
            $profile->setProcessor($processor);

            $profile->defineCommand('SET', StringSet::class);
            $profile->defineCommand('SETEX', StringSetExpire::class);
            $profile->defineCommand('PSETEX', StringSetExpire::class);
            $profile->defineCommand('SETNX', StringSetPreserve::class);
            $profile->defineCommand('GET', StringGet::class);
            $profile->defineCommand('MGET', StringGetMultiple::class);
            $profile->defineCommand('MSET', StringSetMultiple::class);
            $profile->defineCommand('MSETNX', StringSetMultiple::class);
        }

        return $profile;
    },
]);