{"id":37266151,"url":"https://github.com/mkorkmaz/redislabs-rejson","last_synced_at":"2026-01-16T00:32:56.598Z","repository":{"id":57018064,"uuid":"160879553","full_name":"mkorkmaz/redislabs-rejson","owner":"mkorkmaz","description":"Redislabs RedisJson aka ReJson Client for PHP (PHP 8.1+)","archived":false,"fork":false,"pushed_at":"2023-11-03T05:04:07.000Z","size":111,"stargazers_count":43,"open_issues_count":1,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-01-12T16:36:31.747Z","etag":null,"topics":["redisjson","redisjson-php","redislab-redisjson","rejson-php"],"latest_commit_sha":null,"homepage":"https://oss.redislabs.com/redisjson/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mkorkmaz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-07T21:57:07.000Z","updated_at":"2025-07-10T13:42:27.000Z","dependencies_parsed_at":"2024-06-20T19:24:36.239Z","dependency_job_id":null,"html_url":"https://github.com/mkorkmaz/redislabs-rejson","commit_stats":{"total_commits":45,"total_committers":2,"mean_commits":22.5,"dds":"0.022222222222222254","last_synced_commit":"f1207411b91afaac9a09997601f7358196a23e40"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/mkorkmaz/redislabs-rejson","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkorkmaz%2Fredislabs-rejson","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkorkmaz%2Fredislabs-rejson/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkorkmaz%2Fredislabs-rejson/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkorkmaz%2Fredislabs-rejson/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mkorkmaz","download_url":"https://codeload.github.com/mkorkmaz/redislabs-rejson/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkorkmaz%2Fredislabs-rejson/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28421218,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T13:30:50.153Z","status":"ssl_error","status_checked_at":"2026-01-14T13:29:08.907Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["redisjson","redisjson-php","redislab-redisjson","rejson-php"],"created_at":"2026-01-16T00:32:55.732Z","updated_at":"2026-01-16T00:32:56.565Z","avatar_url":"https://github.com/mkorkmaz.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RedisJSON-PHP: Redislabs RedisJSON aka ReJson Version 2 Client for PHP\n\nRedisJSON-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)).  \n\n\n[![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)\n\n\n## About RedisJSON\n\n\"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)\".\n\n[More info about RedisJSON](https://oss.redislabs.com/redisjson/).\n\n\n## RedisJSON-PHP Interface\n\nCommanda are named after lowercase version of the original RedisJSON commands.\n\n```php\n\u003c?php\n\nuse Redislabs\\Interfaces\\ModuleInterface;\nuse Predis\\ClientInterface as PredisClient;\nuse Redis as PhpRedisClient;\n\ninterface RedisJsonInterface extends ModuleInterface\n{\n    public function set(string $key, string $path, $json, ?string $existentialModifier = null);\n    public function get(...$arguments);\n    public function del(string $key, ?string $path = '.'): int;\n    public function forget(string $key, ?string $path = '.'): int;\n    public function mget(...$arguments);\n    public function type(string $key, ?string $paths = '.');\n    public function numincrby(string $key, string $path, int $incrementBy);\n    public function nummultby(string $key, string $path, int $multiplyBy);\n    public function strappend(string $key, $json, ?string $path = '.');\n    public function strlen(string $key, ?string $path = '.');\n    public function arrappend(string $key, string $path, ...$jsons);\n    public function arrindex(string $key, string $path, $json, ?int $start = 0, ?int $stop = 0);\n    public function arrinsert(string $key, string $path, int $index, ...$jsons);\n    public function arrlen(string $key, string $path = '.');\n    public function arrpop(string $key, ?string $path = '.', ?int $index = -1);\n    public function arrtrim(string $key, $path, ?int $start = 0, ?int $stop = 0);\n    public function objkeys(string $key, ?string $path = '.');\n    public function objlen(string $key, ?string $path = '.');\n    public function debug(string $subcommand, ?string $key = null, ?string $path = '.');\n    public function resp(string $key, ?string $paths = '.');\n    public function getClient();\n    public function raw(string $command, ...$arguments);\n    public static function createWithPredis(PredisClient $client);\n    public static function createWithPhpRedis(PhpRedisClient $client);\n}\n\n```\n\n## Installation\n\nThe recommended method to install RedisJSON-PHP for ReJSON is with composer.\n\n```bash\ncomposer require mkorkmaz/redislabs-rejson\n```\n\nIf you use Redis ReJSON module version 1.0:\n\n```bash\ncomposer require mkorkmaz/redislabs-rejson:\"^1.0\"\n```\n\n## Usage\n\nYou need PECL Redis Extension or Predis to use ReJSON-PHP. \n\n### Creating RedisJSON Client\n\n##### Example for PECL Redis Extension\n\n```php\n\u003c?php\ndeclare(strict_types=1);\n\nuse Redis;\nuse Redislabs\\Module\\RedisJson\\RedisJson;\n\n$redisClient = new Redis();\n$redisClient-\u003econnect('127.0.0.1');\n$reJSON = ReJSON::createWithPhpRedis($redisClient);\n```\n\n##### Example for Predis\n\n```php\n\u003c?php\ndeclare(strict_types=1);\n\nuse Predis;\nuse Redislabs\\Module\\RedisJson\\RedisJson;\n\n$redisClient = new Predis\\Client();\n$redisJson = RedisJson::createWithPredis($redisClient);\n```\n\n### Running commands\n- **$key (or $keys - array that containes $key items)** parameters are all string.\n- **$json (or $jsons - array that containes $json items)** parameters can be any type of json encodable data (array, int, string, stdClass, any JsonSerializable object etc...). \n- Commands automatically performs json encoding these data. Functions also returns json decoded data if the response is json string. \n\n\n```php\n\u003c?php\n\n$redisJson-\u003eset('test', '.', ['foo'=\u003e'bar'], 'NX');\n$redisJson-\u003eset('test', '.baz', 'qux');\n$redisJson-\u003eset('test', '.baz', 'quux', 'XX');\n$redisJson-\u003eset('test2', '.', ['foo2'=\u003e'bar2']);\n$baz = $redisJson-\u003eget('test', '.baz');\n\nvar_dump($baz); \n// Prints string(4) \"quux\"\n$array = $redisJson-\u003eget('test', '.');\nvar_dump($array); \n/*\nPrints result as an array instead of an object\narray(2) {\n  [\"foo\"]=\u003e\n  string(3) \"bar\"\n  [\"baz\"]=\u003e\n  string(4) \"quux\"\n}\n\n*/\n$array = $redisJson-\u003emget('test', 'test2', '.');\nvar_dump($array); \n/*\nPrints result as an associative array instead of an object\narray(2) {\n  [\"test\"]=\u003e\n  array(2) {\n    [\"foo\"]=\u003e\n    string(3) \"bar\"\n    [\"baz\"]=\u003e\n    string(4) \"quux\"\n  }\n  [\"test2\"]=\u003e\n  array(1) {\n    [\"foo2\"]=\u003e\n    string(3) \"bar2\"\n  }\n}\n*/\n\n```\n\n\n## Test and Development\n\nYou can use Docker Image provided by Redislabs.\n\n```bash\ndocker run -p 6379:6379 redislabs/rejson:2.0.4\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkorkmaz%2Fredislabs-rejson","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmkorkmaz%2Fredislabs-rejson","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkorkmaz%2Fredislabs-rejson/lists"}