Home  >  Article  >  Database  >  What business is suitable for using redis?

What business is suitable for using redis?

尚
Original
2019-07-04 13:41:492836browse

What business is suitable for using redis?

1. The operation of fetching the latest N data

For example, typically fetching the latest articles of your website, through the following method, we can get the latest 5000 comments The ID is placed in the List collection of Redis, and the excess part is obtained from the database

Use the LPUSH latest.comments command to insert data into the list collection

Use after the insertion is completed The LTRIM latest.comments 0 5000 command will always save only the latest 5000 IDs

Then we can use the following logic (pseudocode) when the client gets comments on a certain page

FUNCTION get_latest_comments (start,num_items): id_list =redis.lrange("latest.comments",start,start num_items-1) IFid_list.length < num_items id_list = SQL_DB("SELECT ... ORDER BY timeLIMIT ...") END RETURN id_listEND

If you have different filtering dimensions, such as the latest N items of a certain category, then you can build another List according to this category. If you only store IDs, Redis is very efficient.

2. Ranking application, take TOP N operations

The difference between this requirement and the above requirement is that the previous operation uses time as the weight, and this one uses a certain condition as the weight, such as To sort by the number of likes, our sorted set is needed at this time. Set the value you want to sort to the score of the sorted set, and set the specific data to the corresponding value. You only need to execute one ZADD command each time.

3. Applications that need to accurately set the expiration time

For example, you can set the score value of the sorted set mentioned above to the timestamp of the expiration time, then you can simply use expiration Time sorting, clearing expired data regularly, not only clearing expired data in Redis, you can completely regard the expiration time in Redis as an index of data in the database, use Redis to find out which data needs to be expired and delete, and then accurately Delete the corresponding record from the database.

4. Counter application

Redis commands are all atomic. You can easily use INCR and DECR commands to build a counter system.

5. Uniq operation to obtain the deduplication values ​​of all data in a certain period of time

This is the most suitable to use the set data structure of Redis. You only need to keep throwing data into the set. set means collection, so it will be automatically deduplicated.

6. Real-time system, anti-spam system

Through the set function mentioned above, you can know whether an end user has performed a certain operation, and you can find the set of operations and analyze them. Statistical comparisons, etc. Nothing is impossible, only unimaginable.

7. Pub/Sub builds a real-time messaging system

Redis’ Pub/Sub system can build a real-time messaging system, such as many examples of real-time chat systems built with Pub/Sub.

8. Build a queue system

Use list to build a queue system, and use sorted set to even build a prioritized queue system.

9. Caching

The performance is better than Memcached, and the data structure is more diverse.

For more Redis related knowledge, please visit the Redis usage tutorial column!

The above is the detailed content of What business is suitable for using 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