An open API service indexing awesome lists of open source software.

https://github.com/mkorkmaz/redislabs-rejson

Redislabs RedisJson aka ReJson Client for PHP (PHP 8.1+)
https://github.com/mkorkmaz/redislabs-rejson

redisjson redisjson-php redislab-redisjson rejson-php

Last synced: 6 months ago
JSON representation

Redislabs RedisJson aka ReJson Client for PHP (PHP 8.1+)

Awesome Lists containing this project

README

          

# RedisJSON-PHP: Redislabs RedisJSON aka ReJson Version 2 Client for PHP

RedisJSON-PHP provides a client for Redislabs' ReJSON Module for PHP. This library supports both widely used redis clients ([PECL Redis Extension](https://github.com/phpredis/phpredis/#readme) and [Predis](https://github.com/nrk/predis)).

[![Build Status](https://api.travis-ci.com/mkorkmaz/redislabs-rejson.svg?branch=master)](https://travis-ci.com/mkorkmaz/redislabs-rejson) [![Coverage Status](https://coveralls.io/repos/github/mkorkmaz/redislabs-rejson/badge.svg?branch=master)](https://coveralls.io/github/mkorkmaz/redislabs-rejson?branch=master) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/mkorkmaz/redislabs-rejson/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/mkorkmaz/redislabs-rejson/?branch=master) [![Latest Stable Version](https://poser.pugx.org/mkorkmaz/redislabs-rejson/v/stable)](https://packagist.org/packages/mkorkmaz/redislabs-rejson) [![Total Downloads](https://poser.pugx.org/mkorkmaz/redislabs-rejson/downloads)](https://packagist.org/packages/mkorkmaz/redislabs-rejson) [![Latest Unstable Version](https://poser.pugx.org/mkorkmaz/redislabs-rejson/v/unstable)](https://packagist.org/packages/mkorkmaz/redislabs-rejson) [![License](https://poser.pugx.org/mkorkmaz/redislabs-rejson/license)](https://packagist.org/packages/mkorkmaz/redislabs-rejson)

## About RedisJSON

"RedisJSON is a Redis module that implements ECMA-404 The JSON Data Interchange Standard as a native data type. It allows storing, updating and fetching JSON values from Redis keys (documents)".

[More info about RedisJSON](https://oss.redislabs.com/redisjson/).

## RedisJSON-PHP Interface

Commanda are named after lowercase version of the original RedisJSON commands.

```php
connect('127.0.0.1');
$reJSON = ReJSON::createWithPhpRedis($redisClient);
```

##### Example for Predis

```php
set('test', '.', ['foo'=>'bar'], 'NX');
$redisJson->set('test', '.baz', 'qux');
$redisJson->set('test', '.baz', 'quux', 'XX');
$redisJson->set('test2', '.', ['foo2'=>'bar2']);
$baz = $redisJson->get('test', '.baz');

var_dump($baz);
// Prints string(4) "quux"
$array = $redisJson->get('test', '.');
var_dump($array);
/*
Prints result as an array instead of an object
array(2) {
["foo"]=>
string(3) "bar"
["baz"]=>
string(4) "quux"
}

*/
$array = $redisJson->mget('test', 'test2', '.');
var_dump($array);
/*
Prints result as an associative array instead of an object
array(2) {
["test"]=>
array(2) {
["foo"]=>
string(3) "bar"
["baz"]=>
string(4) "quux"
}
["test2"]=>
array(1) {
["foo2"]=>
string(3) "bar2"
}
}
*/

```

## Test and Development

You can use Docker Image provided by Redislabs.

```bash
docker run -p 6379:6379 redislabs/rejson:2.0.4
```