Redis 是一款高性能的键值存储数据库,以其高性能、丰富的数据结构和高可用性著称。在 Redis 中,有五种核心数据类型,分别是字符串(Strings)、列表(Lists)、集合(Sets)、哈希表...
Redis 是一款高性能的键值存储数据库,以其高性能、丰富的数据结构和高可用性著称。在 Redis 中,有五种核心数据类型,分别是字符串(Strings)、列表(Lists)、集合(Sets)、哈希表(Hashes)和有序集合(Sorted Sets)。掌握这些数据类型,可以解锁 Redis 的高性能存储新技能。
字符串是 Redis 最基本的数据类型,可以存储任何形式的字符串,包括二进制字符串。字符串类型支持以下操作:
SET key value:设置 key 的值。GET key:获取 key 的值。INCR key:将 key 的值增加 1。DECR key:将 key 的值减少 1。import redis
# 连接 Redis
r = redis.Redis(host='localhost', port=6379, db=0)
# 设置键值对
r.set('name', 'Alice')
# 获取值
print(r.get('name').decode())列表是一个有序集合,可以存储多个元素。列表支持以下操作:
LPUSH key value:将值插入列表的头部。RPUSH key value:将值插入列表的尾部。LRANGE key start stop:获取列表中指定范围内的元素。LPOP key:移除并返回列表的头部元素。# 连接 Redis
r = redis.Redis(host='localhost', port=6379, db=0)
# 添加元素到列表头部
r.lpush('numbers', 1, 2, 3)
# 获取列表中的元素
print(r.lrange('numbers', 0, -1))集合是一个无序集合,可以存储多个元素,并且元素是唯一的。集合支持以下操作:
SADD key member:添加元素到集合。SREM key member:移除集合中的元素。SMEMBERS key:获取集合中的所有元素。SISMEMBER key member:判断元素是否存在于集合中。# 连接 Redis
r = redis.Redis(host='localhost', port=6379, db=0)
# 添加元素到集合
r.sadd('fruits', 'apple', 'banana', 'cherry')
# 获取集合中的元素
print(r.smembers('fruits'))哈希表是一个键值对集合,可以存储多个键值对。哈希表支持以下操作:
HSET key field value:设置哈希表的键值对。HGET key field:获取哈希表中的值。HGETALL key:获取哈希表中的所有键值对。HDEL key field:删除哈希表中的键值对。# 连接 Redis
r = redis.Redis(host='localhost', port=6379, db=0)
# 设置哈希表的键值对
r.hset('user:1', 'name', 'Alice', 'age', 25)
# 获取哈希表中的值
print(r.hget('user:1', 'name').decode())有序集合是一个有序集合,可以存储多个元素,并且元素是有序的。有序集合支持以下操作:
ZADD key score member:添加元素到有序集合。ZRANGE key start stop:获取有序集合中指定范围内的元素。ZREM key member:移除有序集合中的元素。ZRANK key member:获取有序集合中元素的排名。# 连接 Redis
r = redis.Redis(host='localhost', port=6379, db=0)
# 添加元素到有序集合
r.zadd('scores', {'Alice': 90, 'Bob': 85, 'Charlie': 95})
# 获取有序集合中指定范围内的元素
print(r.zrange('scores', 0, -1))通过掌握 Redis 的五大核心数据类型,我们可以充分利用 Redis 的高性能存储能力,为各种应用场景提供强大的支持。