@robinpath/redis
0.1.4Node.jsPublicRedis client with strings, hashes, lists, sets, pub/sub, TTL, and connection management
Redis
Redis client with strings, hashes, lists, sets, pub/sub, TTL, and connection management
Package: @robinpath/redis | Category: Database | Type: Utility
Authentication
redis.connect {"host": "localhost"}
Call this once at the start of your script before using any other function. Credentials persist for the duration of the script execution.
Use Cases
Use the redis module when you need to:
- Get value by key -- Use
redis.getto perform this operation - Delete key(s) -- Use
redis.delto perform this operation - Check key exists -- Use
redis.existsto perform this operation - Find keys by pattern -- Use
redis.keysto perform this operation - Get key TTL -- Use
redis.ttlto perform this operation
Quick Reference
| Function | Description | Returns |
|---|---|---|
connect | Connect to Redis | {name, connected} |
get | Get value by key | Value or null |
set | Set key-value | true |
del | Delete key(s) | Keys deleted |
exists | Check key exists | true if exists |
keys | Find keys by pattern | Matching keys |
ttl | Get key TTL | TTL in seconds |
expire | Set key expiration | true if set |
incr | Increment value | New value |
decr | Decrement value | New value |
hget | Get hash field | Value |
hset | Set hash fields | true |
hgetall | Get all hash fields | All fields |
hdel | Delete hash fields | Fields removed |
lpush | Push to list head | List length |
rpush | Push to list tail | List length |
lpop | Pop from list head | Value or null |
rpop | Pop from list tail | Value or null |
lrange | Get list range | Values |
llen | Get list length | Length |
sadd | Add to set | Members added |
smembers | Get set members | Members |
sismember | Check set membership | true if member |
srem | Remove from set | Members removed |
publish | Publish message to channel | Subscribers received |
flushdb | Flush current database | true |
close | Close connection | true |
closeAll | Close all connections | true |
Functions
connect
Connect to Redis
Module: redis | Returns: object -- {name, connected}
redis.connect {"host": "localhost"}
| Parameter | Type | Required | Description |
|---|---|---|---|
options | object | Yes | {host, port, password, db, prefix, name} |
get
Get value by key
Module: redis | Returns: any -- Value or null
redis.get "user:1"
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Key |
connection | string | No | Connection name |
set
Set key-value
Module: redis | Returns: boolean -- true
redis.set "user:1" {"name": "Alice"} 3600
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Key |
value | any | Yes | Value |
ttl | number | No | TTL in seconds |
connection | string | No | Connection name |
del
Delete key(s)
Module: redis | Returns: number -- Keys deleted
redis.del "user:1"
| Parameter | Type | Required | Description |
|---|---|---|---|
keys | string | Yes | Key or array of keys |
connection | string | No | Connection name |
exists
Check key exists
Module: redis | Returns: boolean -- true if exists
redis.exists "user:1"
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Key |
connection | string | No | Connection name |
keys
Find keys by pattern
Module: redis | Returns: array -- Matching keys
redis.keys "user:*"
| Parameter | Type | Required | Description |
|---|---|---|---|
pattern | string | Yes | Glob pattern |
connection | string | No | Connection name |
ttl
Get key TTL
Module: redis | Returns: number -- TTL in seconds
redis.ttl "session:abc"
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Key |
connection | string | No | Connection name |
expire
Set key expiration
Module: redis | Returns: boolean -- true if set
redis.expire "session:abc" 3600
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Key |
seconds | number | Yes | TTL |
connection | string | No | Connection name |
incr
Increment value
Module: redis | Returns: number -- New value
redis.incr "counter"
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Key |
amount | number | No | Amount (default 1) |
decr
Decrement value
Module: redis | Returns: number -- New value
redis.decr "counter"
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Key |
amount | number | No | Amount (default 1) |
hget
Get hash field
Module: redis | Returns: any -- Value
redis.hget "user:1" "name"
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Hash key |
field | string | Yes | Field |
connection | string | No | Connection name |
hset
Set hash fields
Module: redis | Returns: boolean -- true
redis.hset "user:1" {"name": "Alice", "age": 30}
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Hash key |
fields | object | Yes | Field-value pairs |
connection | string | No | Connection name |
hgetall
Get all hash fields
Module: redis | Returns: object -- All fields
redis.hgetall "user:1"
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Hash key |
connection | string | No | Connection name |
hdel
Delete hash fields
Module: redis | Returns: number -- Fields removed
redis.hdel "user:1" "age"
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Hash key |
fields | string | Yes | Field(s) |
connection | string | No | Connection name |
lpush
Push to list head
Module: redis | Returns: number -- List length
redis.lpush "queue" "task1"
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | List key |
values | any | Yes | Value(s) |
connection | string | No | Connection name |
rpush
Push to list tail
Module: redis | Returns: number -- List length
redis.rpush "queue" "task1"
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | List key |
values | any | Yes | Value(s) |
connection | string | No | Connection name |
lpop
Pop from list head
Module: redis | Returns: string -- Value or null
redis.lpop "queue"
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | List key |
connection | string | No | Connection name |
rpop
Pop from list tail
Module: redis | Returns: string -- Value or null
redis.rpop "queue"
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | List key |
connection | string | No | Connection name |
lrange
Get list range
Module: redis | Returns: array -- Values
redis.lrange "queue" 0 -1
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | List key |
start | number | No | Start index |
stop | number | No | Stop index |
connection | string | No | Connection name |
llen
Get list length
Module: redis | Returns: number -- Length
redis.llen "queue"
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | List key |
connection | string | No | Connection name |
sadd
Add to set
Module: redis | Returns: number -- Members added
redis.sadd "tags" ["js", "ts"]
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Set key |
members | any | Yes | Member(s) |
connection | string | No | Connection name |
smembers
Get set members
Module: redis | Returns: array -- Members
redis.smembers "tags"
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Set key |
connection | string | No | Connection name |
sismember
Check set membership
Module: redis | Returns: boolean -- true if member
redis.sismember "tags" "js"
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Set key |
member | string | Yes | Member |
connection | string | No | Connection name |
srem
Remove from set
Module: redis | Returns: number -- Members removed
redis.srem "tags" "old"
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Set key |
members | any | Yes | Member(s) |
connection | string | No | Connection name |
publish
Publish message to channel
Module: redis | Returns: number -- Subscribers received
redis.publish "events" "user.created"
| Parameter | Type | Required | Description |
|---|---|---|---|
channel | string | Yes | Channel |
message | string | Yes | Message |
connection | string | No | Connection name |
flushdb
Flush current database
Module: redis | Returns: boolean -- true
redis.flushdb
| Parameter | Type | Required | Description |
|---|---|---|---|
connection | string | No | Connection name |
close
Close connection
Module: redis | Returns: boolean -- true
redis.close
| Parameter | Type | Required | Description |
|---|---|---|---|
connection | string | No | Connection name |
closeAll
Close all connections
Module: redis | Returns: boolean -- true
redis.closeAll
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | No | Call with no arguments |
Error Handling
All functions throw on failure. Common errors:
| Error | Cause |
|---|---|
Redis connection "..." not found. Call redis.connect first. | Check the error message for details |
@desc "Get and validate result"
do
set $result as redis.get "user:1"
if $result != null
print "Success"
else
print "No result"
end
enddo
Recipes
1. List and iterate
Retrieve all items and loop through them.
@desc "Get and iterate results"
do
set $result as redis.get "user:1"
each $item in $result
print $item
end
enddo
2. Multi-step Redis workflow
Chain multiple redis operations together.
@desc "Connect, get, and more"
do
set $r_connect as redis.connect {"host": "localhost"}
set $r_get as redis.get "user:1"
set $r_del as redis.del "user:1"
print "All operations complete"
enddo
3. Safe connect with validation
Check results before proceeding.
@desc "Connect and validate result"
do
set $result as redis.connect {"host": "localhost"}
if $result != null
print "Success: " + $result
else
print "Operation returned no data"
end
enddo
Related Modules
- mysql -- MySQL module for complementary functionality
- postgres -- PostgreSQL module for complementary functionality
- mongo -- Mongo module for complementary functionality
- supabase -- Supabase module for complementary functionality
- firebase -- Firebase module for complementary functionality
Versions (1)
| Version | Tag | Published |
|---|---|---|
| 0.1.4 | latest | 1 months ago |
Related Modules
chart
JS@robinpathv0.1.2
Generate chart images (PNG/JPEG) using Chart.js. Supports bar, line, pie, doughnut, scatter, radar, polarArea, and bubble charts with auto-coloring and customizable titles, legends, and dimensions.
firebase
JS@robinpathv0.1.1
Firebase module for RobinPath.
graph
JS@robinpathv0.1.1
Graph data structures with BFS, DFS, Dijkstra's shortest path, topological sort, cycle detection, and connectivity
hotjar
JS@robinpathv0.1.1
Hotjar module for RobinPath.
$ robinpath add @robinpath/redis
