
Research
/Security News
PolinRider Spreads Through Compromised GitHub Accounts and Packagist
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.
@redis/json
Advanced tools
This package provides support for the [RedisJSON](https://redis.io/docs/latest/develop/data-types/json/) module, which adds JSON as a native data type to Redis.
This package provides support for the RedisJSON module, which adds JSON as a native data type to Redis.
Should be used with redis/@redis/client.
:warning: To use these extra commands, your Redis server must have the RedisJSON module installed.
For a complete example, see managing-json.js in the examples folder.
The JSON.SET command stores a JSON value at a given JSON Path in a Redis key.
Here, we'll store a JSON document in the root of the Redis key "mydoc":
await client.json.set('noderedis:jsondata', '$', {
name: 'Roberta McDonald',
pets: [{
name: 'Rex',
species: 'dog',
age: 3,
isMammal: true
}, {
name: 'Goldie',
species: 'fish',
age: 2,
isMammal: false
}]
});
For more information about RedisJSON's path syntax, check out the documentation.
With RedisJSON, we can retrieve all or part(s) of a JSON document using the JSON.GET command and one or more JSON Paths. Let's get the name and age of one of the pets:
const results = await client.json.get('noderedis:jsondata', {
path: [
'.pets[1].name',
'.pets[1].age'
]
});
results will contain the following:
{ '.pets[1].name': 'Goldie', '.pets[1].age': 2 }
RedisJSON includes commands that can atomically update values in a JSON document, in place in Redis without having to first retrieve the entire document.
Using the JSON.NUMINCRBY command, we can update the age of one of the pets like this:
await client.json.numIncrBy('noderedis:jsondata', '.pets[1].age', 1);
And we can add a new object to the pets array with the JSON.ARRAPPEND command:
await client.json.arrAppend('noderedis:jsondata', '.pets', {
name: 'Robin',
species: 'bird',
age: 1,
isMammal: false
});
ioredis is a robust, full-featured Redis client for Node.js. While it does not natively support JSON operations, it can be used in conjunction with RedisJSON to achieve similar functionality. ioredis is known for its performance and support for advanced Redis features like clustering and sentinel.
redis is the official Node.js client for Redis. Like ioredis, it does not have built-in support for JSON operations but can be used with RedisJSON. It is a straightforward and reliable client for basic Redis operations.
node-redis is another popular Redis client for Node.js. It provides a simple and efficient way to interact with Redis but lacks native JSON support. It can be paired with RedisJSON for handling JSON data.
FAQs
This package provides support for the [RedisJSON](https://redis.io/docs/latest/develop/data-types/json/) module, which adds JSON as a native data type to Redis.
The npm package @redis/json receives a total of 6,361,147 weekly downloads. As such, @redis/json popularity was classified as popular.
We found that @redis/json demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.

Research
/Security News
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.

Security News
GitHub Actions now supports cache-mode, a least-privilege control on the Actions cache aimed at the cache poisoning technique behind recent compromises.

Company News
Allow myself to introduce... myself.