Home  >  Article  >  Database  >  What are the data types of Redis?

What are the data types of Redis?

青灯夜游
青灯夜游Original
2019-06-06 16:21:5265768browse

What are the data types of Redis?

Redis supports five data types: string (string), hash (hash), list (list), set (set) and zset (sorted set: ordered set) . (Recommended learning: Redis video tutorial)

String (string)

string is the most basic type of redis, you can understand it as Memcached has exactly the same type, one key corresponds to one value.

The string type is binary safe. This means that the string of redis can contain any data. For example, jpg images or serialized objects.

The string type is the most basic data type of Redis. The string type value can store up to 512MB.

Commonly used commands: set, get, decr, incr, mget, etc.

Note: A key can store up to 512MB.

Hash (Hash)

Redis hash is a collection of key-value (key=>value) pairs; it is a mapping table of field and value of string type , hash is particularly suitable for storing objects.

Each hash can store 232 -1 key-value pairs (more than 4 billion).

Commonly used commands: hget, hset, hgetall, etc.

Application scenario: Store some structured data, such as the user's nickname, age, gender, points, etc., and store a user information object data.

List (List)

Redis lists are simple lists of strings, sorted in insertion order. You can add an element to the head (left) or tail (right) of the list.

The list type is often used in message queue services to complete message exchange between multiple programs.

Commonly used commands: lpush, rpush, lpop, rpop, lrange, etc.

Lists can store up to 232 - 1 elements (4294967295, each list can store more than 4 billion).

Set (set)

Redis’ Set is an unordered collection of string type. Like a list, it is very efficient when performing insertion and deletion and determining whether an element exists. The biggest advantage of sets is that they can perform intersection, union, and difference operations. The maximum number of elements that a Set can contain is 4294967295.
Collections are implemented through hash tables, so the complexity of adding, deleting, and searching is O(1).

Application scenarios:

1. Use intersection to find common friends.

2. Using uniqueness, you can count all independent IPs that visit the website.

3. When recommending friends, find the intersection based on the tag. If it is greater than a certain threshold (critical value), you can recommend it.

Commonly used commands: sadd, spop, smembers, sunion, etc.

The maximum number of members in a collection is 232 - 1 (4294967295, each collection can store more than 4 billion members).

zset (sorted set: ordered set)

Redis zset, like set, is also a collection of string type elements, and duplicate members are not allowed.

The difference is that each element is associated with a double type score. Redis uses scores to sort the members of the collection from small to large.

The members of zset are unique, but the scores can be repeated.

sorted set is insertion ordered, that is, automatically sorted.

Commonly used commands: zadd, zrange, zrem, zcard, etc.

When you need an ordered and non-duplicate list of sets, you can choose the sorted set data structure.

Application examples:

(1) For example, to store the grades of the whole class, the set value can be the student ID number, and the score can be the grade.
(2) Ranking application, lists topN users based on scores, etc.

For more redis related technical knowledge, please visit the Redis usage tutorial column to learn!

The above is the detailed content of What are the data types of Redis?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn