docs/content/stable/yedis/api/_index.md
The YEDIS API provides a clustered, auto-sharded, globally distributed and persistent key-value API that is compatible with the Redis commands library. A Redis client can connect, send requests, and receive results from YugabyteDB.
The following data types can be read and written via the YEDIS API.
| Data type | Development status |
|---|---|
| String | Supported |
| Hash | Supported |
| Set | Supported |
| Sorted set | Supported |
| List | Not yet supported |
| Bitmaps | Not yet supported |
| HyperLogLogs | Not yet supported |
| GeoSpatial | Not yet supported |
| Time series | New data type in YugabyteDB |
Redis-cli or any Redis applications can access YugabyteDB using the YEDIS API. The following Redis commands are accepted.
| Command | Description |
|---|---|
| <b>String data type </b> | |
APPEND | Append data to end of string |
DEL | Delete keys from a database |
EXISTS | Check if the keys are present |
EXPIRE | Set key timeout in seconds |
EXPIREAT | Set key timeout as timestamp |
SET | Write or overwrite a string value |
SETEX | Write or overwrite a string value and set TTL in seconds |
PSETEX | Write or overwrite a string value and set TTL in milliseconds |
SETRANGE | Write a subsection of a string |
GET | Read string value |
GETRANGE | Read substring |
GETSET | Atomically read and write a string |
INCR | Increment the value by one |
KEYS | Retrieve all keys matching a pattern |
PEXPIRE | Set key timeout in milliseconds |
PEXPIREAT | Set key timeout as timestamp in milliseconds |
PTTL | Get time to live for key in milliseconds |
TTL | Get time to live for key in seconds |
| <b> Hash data type </b> | |
HDEL | Remove specified entries from a hash |
HEXISTS | Check if the subkeys are present in the hash |
HGET | Read a field in hash |
HGETALL | Read all the contents in a hash |
HKEYS | Read all value-keys in a hash |
HLEN | Get the number of entries in a hash |
HMGET | Read values for the given keys in a hash |
HMSET | Write values for the given keys in a hash |
HSET | Write one entry in a hash |
HSTRLEN | Read the length of a specified entry in a hash |
HVALS | Read all values in a hash |
| <b> Set data type </b> | |
SADD | Add entries to a set |
SCARD | Read the number of entries in a set |
SISMEMBER | Check if the members are present in a set |
SMEMBERS | Read all members of a set |
SREM | Remove members from a set |
STRLEN | Read the length of a string |
| <b> Time series data type </b> | |
TSADD | Add a time series entry |
TSCARD | Retrieve the number of elements in the given time series |
TSGET | Retrieve a time series entry |
TSLASTN | Retrieve the latest N time series entries for a given time series |
TSRANGEBYTIME | Retrieve time series entries for a given time range |
TSREM | Delete a time series entry |
TSREVRANGEBYTIME | Retrieve time series entries for a given time range ordered from newest to oldest |
| <b> Sorted set data type </b> | |
ZADD | Add a sorted set entry |
ZCARD | Get cardinality of a sorted set |
ZRANGE | Retrieve sorted set entries for given index range |
ZRANGEBYSCORE | Retrieve sorted set entries for a given score range |
ZREM | Delete a sorted set entry |
ZREVRANGE | Retrieve sorted set entries for given index range ordered from highest to lowest score |
ZSCORE | Get the score of member at a sorted set key |
| <b> General </b> | |
AUTH | Authenticates a client connection to YEDIS API |
CONFIG | Not fully supported. Only used to set the required password(s) for YEDIS API |
ECHO | Output messages |
MONITOR | Debugging tool to see all requests that are processed by a YEDIS API server |
ROLE | Read role of a node |
RENAME | Rename one key as another |
| <b> Database </b> | |
FLUSHALL | Delete all keys from all databases |
FLUSHDB | Delete all keys from a database |
CREATEDB | Create a new yedis database |
LISTDB | List all the yedis databases present |
DELETEDB | Delete a yedis database |
SELECT | Select the target database to communcate with |
| <b> Pub-Sub </b> | |
PUBSUB | Used to query the state of the Pub/Sub system. |
PUBLISH | Publishes a message to the specified channel |
SUBSCRIBE | Subscribes the client to the specified channel(s) |
PSUBSCRIBE | Subscribes the client to the specified pattern(s) |
UNSUBSCRIBE | Unubscribes the client from the specified channel(s) |
PUNSUBSCRIBE | Unubscribes the client from the specified pattern(s) |