redis-py
redis-py是Python操作Redis的第三方库,它提供了与Redis服务器交互的API。
安装redis-py
pip install redis
基本使用
import redis
# 连接到本地Redis服务器,默认端口为6379
r = redis.Redis(host='localhost', port=6379, db=0)
# 设置键值对
r.set('hello', 'world')
# 获取键对应的值
value = r.get('hello')
# 输出 b'world'
print(value)
# 批量设置键值对
r.mset({'foo': '1', 'bar': '2'})
# 批量获取键对应的值
values = r.mget(['foo', 'bar'])
# 输出 [b'1', b'2']
print(values)
也可以使用StrictRedis对象连接redis服务器,StrictRedis类基于Redis类实现。
import redis
# 连接到本地Redis服务器,默认端口为6379
r = redis.StrictRedis(host='localhost', port=6379, db=0)
# 设置键值对
r.set('hello', 'world')
# 获取键对应的值
value = r.get('hello')
print(value) # 输出 b'world'
增删改查
以操作String数据类型的增删改查为例。
# 引⼊模块
import redis
if __name__ == '__main__':
try:
# 创建Redis对象
r = redis.Redis(host='localhost', port=6379, db=0)
# 新增,添加成功则返回True,如果添加失败则返回False
result = r.set('name', 'test')
print('是否新增成功:', result)
# 获取,如果键存在则返回对应的值,如果键不存在则返回None
name = r.get('name')
print('查询结果:', name)
# 修改,如果键已经存在则进⾏修改,如果键不存在则进⾏添加
result = r.set('name', 'redis')
print('是否修改成功:', result)
name = r.get('name')
print('查询结果:', name)
# 获取所有的键
result = r.keys()
print('获取所有的键', result)
# 删除,删除键及对应的值,如果删除成功则返回受影响的键数,否则则返 回0
result = r.delete('name')
print('删除key的数量:', result)
except Exception as e:
print(e)
字符串操作
import redis
# 连接到本地Redis服务器,默认端口为6379
r = redis.StrictRedis(host='localhost', port=6379, db=0)
# 设置键值对,键为'foo',值为'bar'
r.set('foo', 'bar')
# 获取键对应的值
value = r.get('foo')
print(value) # 输出 b'bar'
# 批量设置键值对
r.mset({'apple': 'red', 'banana': 'yellow'})
# 批量获取键对应的值
values = r.mget(['apple', 'banana'])
print(values) # 输出 [b'red', b'yellow']
# 获取部分值
part_value = r.getrange('foo', 0, 1)
print(part_value) # 输出 b'ba'
# 追加字符串
r.append('foo', 'baz')
append_value = r.get('foo')
print(append_value) # 输出 b'barbaz'
# 自增计数器
r.incr('counter')
# 获取计数器的值
value = r.get('counter')
print(value) # 输出 b'1'
# 在自增计数器的基础上再加上5
r.incrby('counter', 5)
# 获取计数器的值
value = r.get('counter')
print(value) # 输出 b'6'
# 减少计数器
r.decr('counter')
# 获取计数器的值
value = r.get('counter')
print(value) # 输出 b'5'
哈希操作
import redis
# 连接到本地Redis服务器,默认端口为6379
r = redis.StrictRedis(host='localhost', port=6379, db=0)
# 设置哈希表键值对
r.hset('user1', 'name', 'Alice')
r.hset('user1', 'age', 20)
r.hset('user1', 'gender', &#