Python Redis 连接与基础操作详解
本文介绍如何在 Python 中使用 redis-py 库连接 Redis 服务器,重点讲解通过 ConnectionPool 实现连接池共享以提升性能的方法。同时涵盖字符串类型的批量存取、范围截取及追加操作,提供完整代码示例与输出解析,帮助开发者快速掌握 Redis 在 Python 中的基础应用。
Redis 简介与优势
Redis 简介
Redis 是一个开源的、使用 ANSI C 语言编写的、支持网络交互、可基于内存运行且支持数据持久化的日志型键值(Key-Value)数据库,并提供多种编程语言的 API 接口。作为一种非关系型数据库,它常被用作缓存系统或消息中间件。
Redis 优势
- 执行速度快,主要因为数据存储在内存中。
- 支持丰富的数据类型,包括字符串、哈希表、列表、集合以及有序集合。
- 支持事务机制,所有操作均具备原子性。
- 功能丰富,可用于缓存、消息队列等场景;支持按 Key 设置过期时间,到期后自动删除数据。
Python 连接 Redis 及基础操作
1、Redis 连接及存取值
import redis
r = redis.Redis(host='192.168.2.22',port=6379,db=2,password= 'redis')
r.set('name','Delia') # 在redis里面放置对应的key,value
v = r.get('name') # 获取key值对应的value值
print(v)
redis-py 使用连接池(connection pool)来管理对单个 Redis 服务器的所有连接,从而避免每次建立和释放连接带来的开销。
默认情况下,每个 Redis 实例会维护自己的连接池。用户可以直接创建一个连接池,并将其作为参数传递给 Redis 实例,从而实现多个 Redis 实例共享同一个连接池。
import redis
pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis')
r = redis.Redis(connection_pool=pool)
r.set('name','Delia') # 在redis里面放置对应的key,value
v = r.get('name') # 获取key值对应的value值
print(v)
输出结果中的前缀 b 表示返回的是二进制数据。
2、批量存取值
import redis
pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis')
r = redis.Redis(connection_pool=pool)
r.mset({'name':'Delia','age':'18'}) # mset(mapping=''),批量设置值 {k1 = '' ,k2 = ''}
v = r.mget({'name','age'}) # 批量获取值
print(v)
输出结果:
[b'Delia', b'18']
3、存取 Value 的指定范围
import redis
pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis')
r = redis.Redis(connection_pool=pool)
r.set('name','Delia1234')
r.setrange('name',4,'00') #setrange(name,offset,value)修改字符串内容,从指定位置开始替换
v = r.getrange('name',4,5) #getrange(key,start,end)获取子序列
print(v)
输出结果:
b'00'
4、在 Value 中追加内容
import redis
pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis')
r = redis.Redis(connection_pool=pool)
r.set('name','Delia1234')
r.append('name','aaa') #append(key,value)在redis name对应的值后面追加内容
v = r.get('name')
print(v)
输出结果:
b'Delia1234aaa'
总结
以上介绍了 Python 中 Redis 的连接方式及相关基础操作,希望能为读者提供帮助。如有任何疑问,欢迎留言,小编会及时回复。感谢大家对本站的支持! 如果您觉得本文对您有帮助,欢迎转载,请注明出处,谢谢!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









