Redis

Key-value operations with Redis

Redis is an open-source, in-memory data structure store, used as a distributed key-value database, cache, and message broker. Redis supports a variety of data structures including strings, hashes, lists, sets, and more, making it highly flexible for different application scenarios.

With Redis, you can:

  • Store and retrieve key-value data instantly: Use Redis as a fast database, cache, or session store for high performance.
  • Work with multiple data structures: Manage not just strings, but also lists, hashes, sets, sorted sets, streams, and bitmaps.
  • Perform atomic operations: Safely manipulate data using atomic commands and transactions.
  • Support pub/sub messaging: Use Redis’s publisher/subscriber features for real-time event handling and messaging.
  • Set automatic expiration policies: Assign TTLs to keys for caching and time-sensitive data.
  • Scale horizontally: Use Redis Cluster for sharding, high availability, and scalable workloads.

In Sim, the Redis integration lets your agents connect to any Redis-compatible instance to perform key-value, hash, list, and utility operations. You can build workflows that involve storing, retrieving, or manipulating data in Redis, or manage your app’s cache, sessions, or real-time messaging, directly within your Sim workspace.

Usage Instructions

Connect to any Redis instance to perform key-value, hash, list, and utility operations via a direct connection.

Tools

redis_get

Get the value of a key from Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe key to retrieve

Output

ParameterTypeDescription
keystringThe key that was retrieved
valuestringThe value of the key, or null if the key does not exist

redis_set

Set the value of a key in Redis with an optional expiration time in seconds.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe key to set
valuestringYesThe value to store
exnumberNoExpiration time in seconds (optional)

Output

ParameterTypeDescription
keystringThe key that was set
resultstringThe result of the SET operation (typically "OK")

redis_delete

Delete a key from Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe key to delete

Output

ParameterTypeDescription
keystringThe key that was deleted
deletedCountnumberNumber of keys deleted (0 if key did not exist, 1 if deleted)

redis_keys

List all keys matching a pattern in Redis. Avoid using on large databases in production; use the Redis Command tool with SCAN for large key spaces.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
patternstringNoPattern to match keys (default: * for all keys)

Output

ParameterTypeDescription
patternstringThe pattern used to match keys
keysarrayList of keys matching the pattern
countnumberNumber of keys found

redis_command

Execute a raw Redis command as a JSON array (e.g. [

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
commandstringYesRedis command as a JSON array (e.g. ["SET", "key", "value"])

Output

ParameterTypeDescription
commandstringThe command that was executed
resultjsonThe result of the command

redis_hset

Set a field in a hash stored at a key in Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe hash key
fieldstringYesThe field name within the hash
valuestringYesThe value to set for the field

Output

ParameterTypeDescription
keystringThe hash key
fieldstringThe field that was set
resultnumberNumber of fields added (1 if new, 0 if updated)

redis_hget

Get the value of a field in a hash stored at a key in Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe hash key
fieldstringYesThe field name to retrieve

Output

ParameterTypeDescription
keystringThe hash key
fieldstringThe field that was retrieved
valuestringThe field value, or null if the field or key does not exist

redis_hgetall

Get all fields and values of a hash stored at a key in Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe hash key

Output

ParameterTypeDescription
keystringThe hash key
fieldsobjectAll field-value pairs in the hash as a key-value object. Empty object if the key does not exist.
fieldCountnumberNumber of fields in the hash

redis_hdel

Delete a field from a hash stored at a key in Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe hash key
fieldstringYesThe field name to delete

Output

ParameterTypeDescription
keystringThe hash key
fieldstringThe field that was deleted
deletednumberNumber of fields removed (1 if deleted, 0 if field did not exist)

redis_incr

Increment the integer value of a key by one in Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe key to increment

Output

ParameterTypeDescription
keystringThe key that was incremented
valuenumberThe new value after increment

redis_incrby

Increment the integer value of a key by a given amount in Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe key to increment
incrementnumberYesAmount to increment by (negative to decrement)

Output

ParameterTypeDescription
keystringThe key that was incremented
valuenumberThe new value after increment

redis_expire

Set an expiration time (in seconds) on a key in Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe key to set expiration on
secondsnumberYesTimeout in seconds

Output

ParameterTypeDescription
keystringThe key that expiration was set on
resultnumber1 if the timeout was set, 0 if the key does not exist

redis_ttl

Get the remaining time to live (in seconds) of a key in Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe key to check TTL for

Output

ParameterTypeDescription
keystringThe key that was checked
ttlnumberRemaining TTL in seconds. Positive integer if TTL set, -1 if no expiration, -2 if key does not exist.

redis_persist

Remove the expiration from a key in Redis, making it persist indefinitely.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe key to persist

Output

ParameterTypeDescription
keystringThe key that was persisted
resultnumber1 if the expiration was removed, 0 if the key does not exist or has no expiration

redis_lpush

Prepend a value to a list stored at a key in Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe list key
valuestringYesThe value to prepend

Output

ParameterTypeDescription
keystringThe list key
lengthnumberLength of the list after the push

redis_rpush

Append a value to the end of a list stored at a key in Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe list key
valuestringYesThe value to append

Output

ParameterTypeDescription
keystringThe list key
lengthnumberLength of the list after the push

redis_lpop

Remove and return the first element of a list stored at a key in Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe list key

Output

ParameterTypeDescription
keystringThe list key
valuestringThe removed element, or null if the list is empty

redis_rpop

Remove and return the last element of a list stored at a key in Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe list key

Output

ParameterTypeDescription
keystringThe list key
valuestringThe removed element, or null if the list is empty

redis_llen

Get the length of a list stored at a key in Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe list key

Output

ParameterTypeDescription
keystringThe list key
lengthnumberThe length of the list, or 0 if the key does not exist

redis_lrange

Get a range of elements from a list stored at a key in Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe list key
startnumberYesStart index (0-based)
stopnumberYesStop index (-1 for all elements)

Output

ParameterTypeDescription
keystringThe list key
valuesarrayList elements in the specified range
countnumberNumber of elements returned

redis_exists

Check if a key exists in Redis.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe key to check

Output

ParameterTypeDescription
keystringThe key that was checked
existsbooleanWhether the key exists (true) or not (false)

redis_setnx

Set the value of a key in Redis only if the key does not already exist.

Input

ParameterTypeRequiredDescription
urlstringYesRedis connection URL (e.g. redis://user:password@host:port)
keystringYesThe key to set
valuestringYesThe value to store

Output

ParameterTypeDescription
keystringThe key that was set
wasSetbooleanWhether the key was set (true) or already existed (false)

On this page

Start building today
Trusted by over 60,000 builders.
Build Agentic workflows visually on a drag-and-drop canvas or with natural language.
Get started