# Triggers and functions [![discord](http://img.shields.io/discord/697882427875393627?style=flat-square)](http://discord.gg/xTbqgTB) [![Github](http://img.shields.io/static/v1?label=&message=repository&color=5961FF&logo=github)](http://github.com/RedisGears/RedisGears/) The triggers and functions feature of Redis Stack allows running JavaScript functions inside Redis. These functions can be executed on-demand, by an event-driven trigger, or by a stream processing trigger. ## Quick links * [Command documentation](http://github.com/RedisGears/RedisGears/tree/master/docs/commands) * [Source code](http://github.com/RedisGears/RedisGears) * [Latest release](http://github.com/RedisGears/RedisGears/releases) * [Docker image](http://hub.docker.com/r/redis/redis-stack-server/) ## Primary features * JavaScript engine for functions * On-demand functions * Keyspace triggers * Stream triggers * Async handling of functions * Read data from across the cluster ## Cluster support Triggers and functions support deployment and execution of functions across a cluster. Functions are executed on the correct shard based on the key that is changed or read functions can be executed on all to return a correct view of the data. ## References ### Blog posts - [Expanding the Database Trigger Features in Redis](http://redis.com/blog/database-trigger-features/) ## Overview