Redis十大数据类型
Redis支持的数据类型包括:
- 字符串(String)
- 列表(List)
- 集合(Set)
- 有序集合(Sorted Set)
- 哈希(Hash)
- 位图(Bitmap)
- 超日志(HyperLogLog)
- 地理位置(Geo)
- 流(Stream)
- 保留字Key
解决方案和实例代码:
- 字符串(String):
# 设置键值
redis.set('key', 'value')
# 获取键值
value = redis.get('key')
- 列表(List):
# 在列表左侧插入元素
redis.lpush('list_key', 'element')
# 在列表右侧插入元素
redis.rpush('list_key', 'element')
# 获取列表元素
elements = redis.lrange('list_key', 0, -1)
- 集合(Set):
# 添加元素到集合
redis.sadd('set_key', 'element')
# 获取集合中所有元素
members = redis.smembers('set_key')
- 有序集合(Sorted Set):
# 添加元素到有序集合,带有分数
redis.zadd('zset_key', {'element': score})
# 获取有序集合中的元素
elements_with_scores = redis.zrange('zset_key', 0, -1, withscores=True)
- 哈希(Hash):
# 设置哈希字段
redis.hset('hash_key', 'field', 'value')
# 获取哈希字段的值
value = redis.hget('hash_key', 'field')
- 位图(Bitmap)和超日志(HyperLogLog):
这两种类型通常用于复杂的数据分析,不在此处展开。
- 地理位置(Geo):
# 添加地理位置信息
redis.geoadd('geo_key', {'name': longitude, latitude})
# 获取地理位置信息
positions = redis.geopos('geo_key', 'name')
- 流(Stream):
# 发布消息到流
redis.xadd('stream_key', {'field': 'value'})
# 获取流中的消息
messages = redis.xrange('stream_key', '-', '-', count=10)
- 保留字Key:
这是一个特殊的数据结构,用于处理Redis键的元数据。
- 注意:以上代码示例使用的是
redis-py
库,并假设redis
对象已经通过该库正确初始化。
评论已关闭