Redis Sorted Set: Get Largest 100 (Detailed Guide w/ Code Examples)
Use Case(s)
- Retrieve the top 100 highest-scoring elements from a leaderboard.
- Fetch the most recent 100 log entries based on timestamps.
Code Examples
Python
To get the largest 100 elements from a sorted set:
import redis # Connect to Redis r = redis.Redis() # Example sorted set with scores sorted_set_key = 'my_sorted_set' # Get the largest 100 elements largest_100 = r.zrevrange(sorted_set_key, 0, 99, withscores=True) print(largest_100)
Node.js
To achieve the same in Node.js:
const redis = require('redis'); const client = redis.createClient(); // Example sorted set key const sortedSetKey = 'my_sorted_set'; client.zrevrange(sortedSetKey, 0, 99, 'WITHSCORES', (err, result) => { if (err) throw err; console.log(result); });
Golang
Using Go to get the largest 100 elements:
package main import ( "fmt" "github.com/go-redis/redis/v8" "context" ) func main() { rdb := redis.NewClient(&redis.Options{ Addr: "localhost:6379", }) ctx := context.Background() sortedSetKey := "my_sorted_set" result, err := rdb.ZRevRangeWithScores(ctx, sortedSetKey, 0, 99).Result() if err != nil { panic(err) } for _, z := range result { fmt.Printf("Member: %s, Score: %f\n", z.Member, z.Score) } }
Best Practices
- Ensure that the sorted set does not grow indefinitely by periodically removing old or irrelevant entries.
- Use appropriate data types for scores to avoid precision issues, especially with timestamps.
Common Mistakes
- Not handling the case when the sorted set has fewer than 100 elements, which can lead to out-of-range errors.
- Forgetting to connect/disconnect from the Redis server properly in client libraries, leading to resource leaks.
FAQs
How do I handle cases where there are fewer than 100 elements? Most Redis clients will simply return all available elements without throwing an error. However, always check the documentation of your specific client library.
Was this content helpful?
Similar Code Examples
- Redis Sorted Set: Delete
- Redis Sorted Set: Get Highest Score
- Redis Sorted Set List
- Redis Sorted Set: Create
- Redis Sorted Set: Get by Key
- Redis Sorted Set: Limit Size
- Redis Sorted Set: Same Score
- Redis Sorted Set: Sorting by Multiple Fields
- Redis Sorted Set TTL
- Redis Sorted Set: Sort by Date
- Redis Sorted Set Dump
- Redis Sorted Set: Replace Element
Start building today
Dragonfly is fully compatible with the Redis ecosystem and requires no code changes to implement.