在Redis中,数据结构主要包括字符串(String)、列表(List)、集合(Set)、有序集合(Sorted Set)、哈希(Hash)和基本的位图(Bitmap)、超日志(HyperLogLog)和地理位置(Geo)数据类型。
以下是各种数据结构的基本操作和示例代码:
- 字符串(String)
# 设置值
redis.set('key', 'value')
# 获取值
value = redis.get('key')
# 增加数字
redis.incr('counter')
# 减少数字
redis.decr('counter')
- 列表(List)
# 在列表左侧插入元素
redis.lpush('mylist', 'element')
# 在列表右侧插入元素
redis.rpush('mylist', 'element')
# 获取列表指定范围内的元素
elements = redis.lrange('mylist', 0, -1)
- 集合(Set)
# 添加元素
redis.sadd('myset', 'element')
# 获取集合中的所有元素
members = redis.smembers('myset')
# 移除集合中的元素
redis.srem('myset', 'element')
- 有序集合(Sorted Set)
# 添加元素
redis.zadd('myzset', {'element': score})
# 获取指定范围内的元素
elements = redis.zrange('myzset', 0, -1)
# 移除元素
redis.zrem('myzset', 'element')
- 哈希(Hash)
# 设置单个字段的值
redis.hset('myhash', 'field', 'value')
# 获取单个字段的值
value = redis.hget('myhash', 'field')
# 获取所有字段的值
fields = redis.hgetall('myhash')
# 删除字段
redis.hdel('myhash', 'field')
- 位图(Bitmap)
# 设置位图指定偏移量的值
redis.setbit('mybitmap', offset, 1)
# 获取位图指定偏移量的值
value = redis.getbit('mybitmap', offset)
- 超日志(HyperLogLog)
# 添加元素
redis.pfadd('myhyperloglog', 'element')
# 估算元素个数
count = redis.pfcount('myhyperloglog')
- 地理位置(Geo)
# 添加地理位置信息
redis.geoadd('mygeo', longitude, latitude, 'member')
# 获取地理位置信息
location = redis.geopos('mygeo', 'member')
# 计算两个位置之间的距离
distance = redis.geodist('mygeo', 'member1', 'member2')
以上代码示例假设你已经有了一个Redis的客户端连接,并且命名为redis
。
注意:实际使用时需要根据Redis的版本和库的具体实现来调整代码。以上代码可能需要根据Python的Redis库进行相应的调整。