跳转至

Understand Redis data types

Redis is a data structure server. At its core, Redis provides a collection of native data types that help you solve a wide variety of problems, from caching to queuing to event processing. Below is a short description of each data type, with links to broader overviews and command references.

If you'd like to try a comprehensive tutorial for each data structure, see their overview pages below.

Core⚓︎

Strings⚓︎

Redis strings are the most basic Redis data type, representing a sequence of bytes. For more information, see:

Lists⚓︎

Redis lists are lists of strings sorted by insertion order. For more information, see:

Sets⚓︎

Redis sets are unordered collections of unique strings that act like the sets from your favorite programming language (for example, Java HashSets, Python sets, and so on). With a Redis set, you can add, remove, and test for existence in O(1) time (in other words, regardless of the number of set elements). For more information, see:

Hashes⚓︎

Redis hashes are record types modeled as collections of field-value pairs. As such, Redis hashes resemble Python dictionaries, Java HashMaps, and Ruby hashes. For more information, see:

Sorted sets⚓︎

Redis sorted sets are collections of unique strings that maintain order by each string's associated score. For more information, see:

Streams⚓︎

A Redis stream is a data structure that acts like an append-only log. Streams help record events in the order they occur and then syndicate them for processing. For more information, see:

Geospatial indexes⚓︎

Redis geospatial indexes are useful for finding locations within a given geographic radius or bounding box. For more information, see:

Bitmaps⚓︎

Redis bitmaps let you perform bitwise operations on strings. For more information, see:

Bitfields⚓︎

Redis bitfields efficiently encode multiple counters in a string value. Bitfields provide atomic get, set, and increment operations and support different overflow policies. For more information, see:

HyperLogLog⚓︎

The Redis HyperLogLog data structures provide probabilistic estimates of the cardinality (i.e., number of elements) of large sets. For more information, see:

Extensions⚓︎

To extend the features provided by the included data types, use one of these options:

  1. Write your own custom server-side functions in Lua.
  2. Write your own Redis module using the modules API or check out the community-supported modules.
  3. Use JSON, querying, time series, and other capabilities provided by Redis Stack.


最后更新: November 25, 2023
创建日期: November 25, 2023