{"id":"prod_45I1DpGUSnPecxQQuo4z0","name":"Upstash Redis","slug":"upstash-redis","orgId":"org_pvZm5gKSGRnUZcqcDCro2","url":"https://upstash.com/redis","description":"Serverless Redis with global replication and per-request pricing","category":"database","kind":"platform","avatarUrl":null,"createdAt":"2026-04-07T23:44:30.875Z","embeddedAt":"2026-04-15T16:19:40.805Z","deletedAt":null,"sources":[{"id":"src_yTN3U20OXkhEXt-F7_6v2","slug":"upstash-redis-changelog","name":"Redis Changelog","type":"feed","url":"https://upstash.com/docs/redis/overall/changelog","metadata":"{\"feedUrl\":\"https://upstash.com/docs/redis/overall/changelog/rss.xml\",\"feedType\":\"unknown\",\"feedDiscoveredAt\":\"2026-04-07T23:44:37.801Z\",\"noFeedFound\":false,\"feedLastModified\":\"Sat, 27 Jun 2026 06:03:48 GMT\",\"feedContentLength\":\"16\",\"feedContentDepth\":\"full\"}","kind":"platform"}],"tags":["edge","redis","serverless"],"aliases":[],"notice":null,"releases":[{"id":"rel_SiBPjagK56PhUu_U0cNHI","version":null,"type":"feature","title":"March 2026","summary":"Added [Upstash Redis Search](https://upstash.com/docs/redis/search/introduction) feature, a new extension for searching Redis data. It works with JSON...","titleGenerated":null,"titleShort":null,"content":"Added [Upstash Redis Search](https://upstash.com/docs/redis/search/introduction) feature, a new extension for searching Redis data. It works with JSON, Hash, and String data, automatically keeps indexes in sync with Redis writes, and supports full-text search, filtering, aggregations, aliases, highlighting, fuzzy matching, phrase queries, and regex matching.\n\nRedis Search is available through the [@upstash/redis](https://upstash.com/docs/redis/sdks/ts/overview) and [upstash-redis](https://upstash.com/docs/redis/sdks/py/overview) SDKs. If you already use `node-redis` or `ioredis`, you can use the [`@upstash/search-redis`](https://upstash.com/docs/redis/search/adapters/node-redis) and [`@upstash/search-ioredis`](https://upstash.com/docs/redis/search/adapters/ioredis) wrappers without switching clients.\n\nNew Redis Search commands:\n\n- [`SEARCH.CREATE`](https://upstash.com/docs/redis/search/command-reference#searchcreate): Create a search index\n\n- [`SEARCH.DROP`](https://upstash.com/docs/redis/search/command-reference#searchdrop): Remove a search index\n\n- [`SEARCH.DESCRIBE`](https://upstash.com/docs/redis/search/command-reference#searchdescribe): Return metadata about a search index\n\n- [`SEARCH.WAITINDEXING`](https://upstash.com/docs/redis/search/command-reference#searchwaitindexing): Wait until pending index updates are visible to queries\n\n- [`SEARCH.QUERY`](https://upstash.com/docs/redis/search/command-reference#searchquery): Search documents with a JSON filter\n\n- [`SEARCH.COUNT`](https://upstash.com/docs/redis/search/command-reference#searchcount): Count matching documents without returning them\n\n- [`SEARCH.AGGREGATE`](https://upstash.com/docs/redis/search/command-reference#searchaggregate): Compute analytics over matching documents\n\n- [`SEARCH.ALIASADD`](https://upstash.com/docs/redis/search/command-reference#searchaliasadd), [`SEARCH.ALIASDEL`](https://upstash.com/docs/redis/search/command-reference#searchaliasdel), and [`SEARCH.LISTALIASES`](https://upstash.com/docs/redis/search/command-reference#searchlistaliases): Manage search index aliases","publishedAt":"2026-03-01T00:00:00.000Z","url":"https://upstash.com/docs/redis/overall/changelog#march-2026","media":[],"prerelease":false,"source":{"slug":"upstash-redis-changelog","name":"Redis Changelog","type":"feed"},"product":{"slug":"upstash-redis","name":"Upstash Redis"},"groupSlug":"upstash-redis","groupName":"Upstash Redis","coverageCount":0,"contentChars":null,"contentTokens":null,"composition":null},{"id":"rel_t2Am6MT0dQ-I8hc1mwUPv","version":null,"type":"feature","title":"December 2025","summary":"Added [Redis Functions](https://redis.io/docs/latest/develop/programmability/functions-intro/) support. New commands are:\n\n[FCALL](https://redis.io/do...","titleGenerated":null,"titleShort":null,"content":"Added [Redis Functions](https://redis.io/docs/latest/develop/programmability/functions-intro/) support. New commands are:\n\n[FCALL](https://redis.io/docs/latest/commands/fcall/): Call a function with read/write capabilities\n[FCALL_RO](https://redis.io/docs/latest/commands/fcall_ro/): Call a function in read-only mode\nFUNCTION DELETE, FUNCTION FLUSH, FUNCTION KILL, FUNCTION LIST, FUNCTION LOAD and FUNCTION STATS\n\nNew Hash commands:\n\n[HGETDEL](https://redis.io/docs/latest/commands/hgetdel/): Get and delete hash fields atomically\n[HGETEX](https://redis.io/docs/latest/commands/hgetex/): Get hash fields with expiration support\n[HSETEX](https://redis.io/docs/latest/commands/hsetex/): Set hash fields with expiration support\n\nNew Stream Commands:\n\n[XDELEX](https://redis.io/docs/latest/commands/xdelex/): Extended delete for streams\n[XACKDEL](https://redis.io/docs/latest/commands/xackdel/): Acknowledge and delete stream entries\n\nNew Bit operations added:\n\nBITOP DIFF: A bit is set only if it's set in all source bitmaps\nBITOP DIFF1: A bit is set if it's set in the first key but not in any of the other keys\nBITOP ANDOR: A bit is set if it's set in X and also in one or more of Y1, Y2, ...\nBITOP ONE: A bit is set if it's set in exactly one source key","publishedAt":"2025-12-01T00:00:00.000Z","url":"https://upstash.com/docs/redis/overall/changelog#december-2025","media":[],"prerelease":false,"source":{"slug":"upstash-redis-changelog","name":"Redis Changelog","type":"feed"},"product":{"slug":"upstash-redis","name":"Upstash Redis"},"groupSlug":"upstash-redis","groupName":"Upstash Redis","coverageCount":0,"contentChars":null,"contentTokens":null,"composition":null},{"id":"rel_oKtCvMCr9xxd7yxR0NVp5","version":null,"type":"feature","title":"April 2025","summary":"Added HASH expiration support. New commands are:\n\n[HEXPIRE](https://redis.io/docs/latest/commands/hexpire/): Set expiration time in seconds\n[HPEXPIRE]...","titleGenerated":null,"titleShort":null,"content":"Added HASH expiration support. New commands are:\n\n[HEXPIRE](https://redis.io/docs/latest/commands/hexpire/): Set expiration time in seconds\n[HPEXPIRE](https://redis.io/docs/latest/commands/hpexpire/): Set expiration time in milliseconds\n[HEXPIREAT](https://redis.io/docs/latest/commands/hexpireat/): Set expiration time as Unix timestamp in seconds\n[HPEXPIREAT](https://redis.io/docs/latest/commands/hpexpireat/): Set expiration time as Unix timestamp in milliseconds\n[HTTL](https://redis.io/docs/latest/commands/httl/): Get remaining time to live in seconds\n[HPTTL](https://redis.io/docs/latest/commands/hpttl/): Get remaining time to live in milliseconds\n[HEXPIRETIME](https://redis.io/docs/latest/commands/hexpiretime/): Get absolute expiration time as Unix timestamp in seconds\n[HPEXPIRETIME](https://redis.io/docs/latest/commands/hpexpiretime/): Get absolute expiration time as Unix timestamp in milliseconds\n[HPERSIST](https://redis.io/docs/latest/commands/hpersist/): Remove expiration from hash fields","publishedAt":"2025-04-01T00:00:00.000Z","url":"https://upstash.com/docs/redis/overall/changelog#april-2025","media":[],"prerelease":false,"source":{"slug":"upstash-redis-changelog","name":"Redis Changelog","type":"feed"},"product":{"slug":"upstash-redis","name":"Upstash Redis"},"groupSlug":"upstash-redis","groupName":"Upstash Redis","coverageCount":0,"contentChars":null,"contentTokens":null,"composition":null},{"id":"rel_ROzsWxXXCNrWto7lJ1qjo","version":null,"type":"feature","title":"Feb 2025","summary":"Added [EVAL_RO](https://redis.io/docs/latest/commands/eval_ro/) and [EVALSHA_RO](https://redis.io/docs/latest/commands/evalsha_ro/)\ncommands introduce...","titleGenerated":null,"titleShort":null,"content":"Added [EVAL_RO](https://redis.io/docs/latest/commands/eval_ro/) and [EVALSHA_RO](https://redis.io/docs/latest/commands/evalsha_ro/)\ncommands introduced in Redis 7.","publishedAt":"2025-02-17T16:20:51.000Z","url":"https://upstash.com/docs/redis/overall/changelog#feb-2025","media":[],"prerelease":false,"source":{"slug":"upstash-redis-changelog","name":"Redis Changelog","type":"feed"},"product":{"slug":"upstash-redis","name":"Upstash Redis"},"groupSlug":"upstash-redis","groupName":"Upstash Redis","coverageCount":0,"contentChars":null,"contentTokens":null,"composition":null},{"id":"rel_fPyWbVma1_NPKHhzyiIuP","version":null,"type":"feature","title":"July 2024","summary":"Added REST API support for [MONITOR](https://redis.io/docs/latest/commands/monitor/) and [SUBSCRIBE](https://redis.io/docs/latest/commands/subscribe/)...","titleGenerated":null,"titleShort":null,"content":"Added REST API support for [MONITOR](https://redis.io/docs/latest/commands/monitor/) and [SUBSCRIBE](https://redis.io/docs/latest/commands/subscribe/)\ncommands using [SSE](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events).\nSee Monitor and Subscribe docs.\nAdded [JSON.MSET](https://redis.io/docs/latest/commands/json.mset/) and [JSON.MERGE](https://redis.io/docs/latest/commands/json.merge/) commands.\nIntroduced the IP Allowlist feature for enhanced security on newly created databases. By default, all IP addresses will be allowed.\nHowever, access can be restricted by specifying permitted IP addresses or CIDR ranges.","publishedAt":"2024-07-01T00:00:00.000Z","url":"https://upstash.com/docs/redis/overall/changelog#july-2024","media":[],"prerelease":false,"source":{"slug":"upstash-redis-changelog","name":"Redis Changelog","type":"feed"},"product":{"slug":"upstash-redis","name":"Upstash Redis"},"groupSlug":"upstash-redis","groupName":"Upstash Redis","coverageCount":0,"contentChars":null,"contentTokens":null,"composition":null},{"id":"rel_96RqUlN5lWR71S5ou-n4X","version":null,"type":"feature","title":"June 2024","summary":"Added AWS AP-NorthEast-1 Japan region.\nAdded an option to return REST response in [RESP2](https://redis.io/docs/latest/develop/reference/protocol-spec...","titleGenerated":null,"titleShort":null,"content":"Added AWS AP-NorthEast-1 Japan region.\nAdded an option to return REST response in [RESP2](https://redis.io/docs/latest/develop/reference/protocol-spec/) format instead of JSON.\nSee [REST API docs](/redis/features/restapi#resp2-format-responses) for more information.","publishedAt":"2024-06-01T00:00:00.000Z","url":"https://upstash.com/docs/redis/overall/changelog#june-2024","media":[],"prerelease":false,"source":{"slug":"upstash-redis-changelog","name":"Redis Changelog","type":"feed"},"product":{"slug":"upstash-redis","name":"Upstash Redis"},"groupSlug":"upstash-redis","groupName":"Upstash Redis","coverageCount":0,"contentChars":null,"contentTokens":null,"composition":null},{"id":"rel_q-Yeo7UcjTggcY0-sOOTK","version":null,"type":"feature","title":"April 2024","summary":"Implemented [MONITOR](https://redis.io/docs/latest/commands/monitor/) command\nImplemented Redis [keyspace notifications](/redis/howto/keyspacenotifica...","titleGenerated":null,"titleShort":null,"content":"Implemented [MONITOR](https://redis.io/docs/latest/commands/monitor/) command\nImplemented Redis [keyspace notifications](/redis/howto/keyspacenotifications)\nImplemented [WAIT](https://redis.io/docs/latest/commands/wait/) and [WAITAOF](https://redis.io/docs/latest/commands/waitaof/) commands\nAdded lag field to [XINFO GROUPS](https://redis.io/docs/latest/commands/xinfo-groups/)\nAdded [CLIENT ID](https://redis.io/docs/latest/commands/client-id/) subcommand\nAdded password strength check to [ACL SETUSER](https://redis.io/docs/latest/commands/acl-setuser/) command","publishedAt":"2024-04-01T00:00:00.000Z","url":"https://upstash.com/docs/redis/overall/changelog#april-2024","media":[],"prerelease":false,"source":{"slug":"upstash-redis-changelog","name":"Redis Changelog","type":"feed"},"product":{"slug":"upstash-redis","name":"Upstash Redis"},"groupSlug":"upstash-redis","groupName":"Upstash Redis","coverageCount":0,"contentChars":null,"contentTokens":null,"composition":null},{"id":"rel_h6xG62-FTOc1TDkF0RkJs","version":null,"type":"feature","title":"February 2024","summary":"Fixed JSON commands with empty keys\nFixed a panic on XTRIM and XDEL\nAdded CLIENT SETNAME/NAME/LIST subcommands\nImplemented near exact trim for streams","titleGenerated":null,"titleShort":null,"content":"Fixed JSON commands with empty keys\nFixed a panic on XTRIM and XDEL\nAdded CLIENT SETNAME/NAME/LIST subcommands\nImplemented near exact trim for streams","publishedAt":"2024-02-01T00:00:00.000Z","url":"https://upstash.com/docs/redis/overall/changelog#february-2024","media":[],"prerelease":false,"source":{"slug":"upstash-redis-changelog","name":"Redis Changelog","type":"feed"},"product":{"slug":"upstash-redis","name":"Upstash Redis"},"groupSlug":"upstash-redis","groupName":"Upstash Redis","coverageCount":0,"contentChars":null,"contentTokens":null,"composition":null},{"id":"rel_PfdslLnlXvwjbaeH7Qxqw","version":null,"type":"feature","title":"September 2023","summary":"Implemented some missing Redis commands:\n\nDUMP\nRESTORE\nZMPOP\nBZMPOP\nLMPOP\nBLMPOP\nSINTERCARD\n\n\nAdded support for BIT/BYTE flag to BITPOS and BITCOUNT c...","titleGenerated":null,"titleShort":null,"content":"Implemented some missing Redis commands:\n\nDUMP\nRESTORE\nZMPOP\nBZMPOP\nLMPOP\nBLMPOP\nSINTERCARD\n\n\nAdded support for BIT/BYTE flag to BITPOS and BITCOUNT commands\nAdded support for XX, NX, GT, and LT arguments to EXPIRE commands\nAllowed NX and GET args to be used together in SET command","publishedAt":"2023-09-01T00:00:00.000Z","url":"https://upstash.com/docs/redis/overall/changelog#september-2023","media":[],"prerelease":false,"source":{"slug":"upstash-redis-changelog","name":"Redis Changelog","type":"feed"},"product":{"slug":"upstash-redis","name":"Upstash Redis"},"groupSlug":"upstash-redis","groupName":"Upstash Redis","coverageCount":0,"contentChars":null,"contentTokens":null,"composition":null}],"pagination":{"nextCursor":null,"limit":20}}