Redis的数据结构全面总结
Redis 是一个开源的使用 C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。
Redis 的数据结构:
- 字符串(String)
- 列表(List)
- 集合(Set)
- 有序集合(Sorted Set)
- 哈希(Hash)
- 位图(Bitmap)
- HyperLogLog
- Stream
解决方案:
对于每种数据结构,我们可以使用相应的 Redis 命令来创建、读取、更新和删除数据。
解决方案一:
# 字符串(String)
redis.set('key', 'value')
print(redis.get('key'))
# 列表(List)
redis.lpush('list', 'value1')
redis.lpush('list', 'value2')
print(redis.lrange('list', 0, -1))
# 集合(Set)
redis.sadd('set', 'value1')
redis.sadd('set', 'value2')
print(redis.smembers('set'))
# 有序集合(Sorted Set)
redis.zadd('sortedset', {'value1': 1, 'value2': 2})
print(redis.zrange('sortedset', 0, -1))
# 哈希(Hash)
redis.hset('hash', 'key1', 'value1')
redis.hset('hash', 'key2', 'value2')
print(redis.hgetall('hash'))
# 位图(Bitmap)
redis.setbit('bitmap', 1, 1)
print(redis.getbit('bitmap', 1))
# HyperLogLog
redis.pfadd('hyperloglog', 'value1')
redis.pfadd('hyperloglog', 'value2')
print(redis.pfcount('hyperloglog'))
# Stream
redis.xadd('stream', {'key': 'value'})
print(redis.xrange('stream', '-', '-', count=10))
解决方案二:
// 字符串(String)
set key "value";
get key;
// 列表(List)
lpush list value1;
lpush list value2;
lrange list 0 -1;
// 集合(Set)
sadd set value1;
sadd set value2;
smembers set;
// 有序集合(Sorted Set)
zadd sortedset 1 value1;
zadd sortedset 2 value2;
zrange sortedset 0 -1;
// 哈希(Hash)
hset hash key1 value1;
hset hash key2 value2;
hgetall hash;
// 位图(Bitmap)
setbit bitmap 1 1;
getbit bitmap 1;
// HyperLogLog
pfadd hyperloglog value1;
pfadd hyperloglog value2;
pfcount hyperloglog;
// Stream
xadd stream * key value;
xrange stream - - count 10;
解决方案三:
// 字符串(String)
redis.set('key', 'value');
redis.get('key', (err, reply) => {
console.log(reply);
});
// 列表(List)
redis.lpush('list', 'value1');
redis.lpush('list', 'value2');
redis.lrange('list', 0, -1, (err, reply) => {
console.log(reply);
});
// 集合(Set)
redis.sadd('set', 'value1');
redis.sadd('set', 'value2');
redis.smembers('set', (err, reply) => {
console.log(reply);
});
// 有序集合(Sorted Set)
redis.zadd('sortedset
评论已关闭