Redis:十大数据类型
Redis支持的数据类型包括:字符串(String), 列表(List), 集合(Set), 有序集合(Sorted Set), 哈希(Hash),位图(Bitmap), 超日志(HyperLogLog), 地理位置(Geo), 流(Stream)。
解决方案:
字符串(String):最基本的数据类型,可以存储任何类型的字符串,包括二进制、序列化的对象等。
示例代码:
# 设置字符串 redis.set('key', 'value') # 获取字符串 redis.get('key')
列表(List):按照插入顺序保存数据,可以在两端进行插入和删除。
示例代码:
# 在列表左侧插入元素 redis.lpush('key', 'value') # 在列表右侧插入元素 redis.rpush('key', 'value') # 获取列表 redis.lrange('key', 0, -1)
集合(Set):无序的字符串集合,不允许有重复元素。
示例代码:
# 添加元素到集合 redis.sadd('key', 'value') # 获取集合中所有成员 redis.smembers('key')
有序集合(Sorted Set):不允许有重复元素的集合,每个元素都关联一个分数,通过分数进行排序。
示例代码:
# 添加成员及其分数到有序集合 redis.zadd('key', {'member': score}) # 获取有序集合中的所有成员 redis.zrange('key', 0, -1)
哈希(Hash):包含键值对的无序映射。
示例代码:
# 设置哈希表字段 redis.hset('key', 'field', 'value') # 获取哈希表中的所有字段和值 redis.hgetall('key')
位图(Bitmap):通过对位进行操作来处理二进制数据,可以实现布隆过滤器等功能。
示例代码:
# 设置位图的位值 redis.setbit('key', offset, value) # 获取位图的位值 redis.getbit('key', offset)
超日志(HyperLogLog):用于计算集合中唯一元素的数量,内存占用极小。
示例代码:
# 添加元素到HyperLogLog redis.pfadd('key', 'value') # 估算HyperLogLog的基数 redis.pfcount('key')
地理位置(Geo):用于存储地理位置信息,并执行基于位置的操作,如计算两点之间的距离。
示例代码:
# 添加地理位置信息 redis.geoadd('key', longitude, latitude, 'member') # 获取地理位置的信息 redis.geopos('key', 'member')
流(Stream):消息队列,可以生产和消费消息。
示例代码:
# 添加消息到流 redis.xadd('key', {'field': 'value'}) # 获取流中的消息 redis.xrange('key', '-', '-', count=10)
评论已关闭