Project

lex-redis

0.0
A long-lived project that still receives updates
Connects LegionIO to Redis Servers
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

>= 5.0
>= 1.3.11
>= 1.4.9
>= 1.4.17
>= 1.2.1
 Project Readme

lex-redis

Redis integration for LegionIO. Run key/value operations and server management commands against Redis servers from within task chains.

Installation

gem install lex-redis

Functions

Item Runner (key/value operations)

Function Parameters Description
get key: Get value by key
set key:, value:, ttl: (optional) Set key to value, with optional TTL in seconds
delete key: Delete a key
exists key: Check if a key exists (returns boolean)
increment key:, number: (default: 1) Increment key by number
decrement key:, number: (default: 1) Decrement key by number
keys glob: (default: '*') List keys matching a glob pattern
rename old_key, key: Rename a key

Server Runner (server management)

Function Parameters Description
ping message: (optional) Ping the server
save (none) Trigger a blocking BGSAVE
time (none) Return server time
flushall (none) Flush all databases
flush_db db: (default: 0) Flush a specific database
keys glob: (default: '*') List keys matching a glob pattern

Connection Parameters

All runners accept connection kwargs forwarded to Helpers::Client:

Parameter Default Description
host '127.0.0.1' Redis server hostname
port 6380 Redis server port
db (none) Database number
password (none) Auth password

Note: the default port is 6380, not the standard Redis default of 6379.

Standalone Client

Use Legion::Extensions::Redis::Client outside the full LegionIO framework.

require 'legion/extensions/redis'
client = Legion::Extensions::Redis::Client.new(host: '127.0.0.1', port: 6379)
client.set(key: 'foo', value: 'bar', ttl: 300)
client.get(key: 'foo')

Requirements

  • Ruby >= 3.4
  • LegionIO framework (optional for standalone client usage)
  • Redis server >= 5.0
  • redis gem >= 5.0

License

MIT