在Redis中,可以使用MGET
命令来同时获取多个key的值。当你在使用Python的redis库来操作Redis时,你可以使用mget()
方法来实现这一功能。
以下是一个简单的示例,展示如何使用Python的redis库来执行Redis的MGET
命令:
import redis
# 创建与Redis服务器的连接
r = redis.StrictRedis(host='localhost', port=6379, db=0)
# 假设我们有以下三个key: 'key1', 'key2', 'key3'
keys = ['key1', 'key2', 'key3']
# 使用mget()方法获取所有key的值
values = r.mget(keys)
# 输出获取到的值
for key, value in zip(keys, values):
print(f"{key}: {value}")
注意:如果某个key不存在,mget()
方法将返回None
。如果你希望在某个key不存在时返回一个默认值,你可以使用Python的get()
方法,并为其提供一个默认值。例如:
values = [r.get(key) for key in keys]
default_value = "default"
for key, value in zip(keys, values):
if value is None:
value = default_value
print(f"{key}: {value}")
在这个例子中,如果某个key不存在,get()
方法将返回None
,然后我们将其替换为默认值"default"。另外,如果你想要一次性获取多个键值,并将它们作为一个字典返回,你可以使用mget()
方法。例如:
values = r.mget(keys)
values_dict = dict(zip(keys, values))
for key, value in values_dict.items():
print(f"{key}: {value}")
在这个例子中,mget()
方法返回一个列表,列表中的每个元素都是一个字符串类型的值。然后我们使用zip()
函数和dict()
函数将键和值转换为一个字典。最后,我们遍历字典并打印每个键和对应的值。
MGET key [key …]
返回所有(一个或多个)给定 key 的值。
如果给定的某个 key 不存在,返回特殊值 nil
GETRANGE key start end
返回字符串的一部分,和PHP中substr一样
(redis2.0以前该命令就叫substr)
左->右 0 ,1,2…计数
右->左 -1,-2,-3 …计数