浅析python redis的连接及相关操作
时间:2019-12-04来源:系统城作者:电脑系统城
Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。这篇文章主要介绍了python redis的连接及相关操作,需要的朋友可以参考下
redis简介
Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。是一个非关系型数据库,经常会用作缓存,消息中间件的操作
redis优势
- 速度快,因为数据存在内存中
- 支持丰富数据类型,支持字符串,哈希表,列表,集合,有序集合
- 支持事务,操作都是原子性
- 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除
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 server的所有连接,避免每次建立、释放连接的开销。
默认,每个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的连接及相关操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
相关信息
-
redis实现session共享的方法
引言大厂很多项目都是部署到多台服务器上,这些服务器在各个地区都存在,当我们访问服务时虽然执行的是同一个服务,但是可能是不同服务器运行的;在我学习项目时遇到这样一个登录情...
2023-11-01
-
简单聊一聊redis过期时间的问题
1.多次修改一个redis的String过期键,如何保证他仍然能保留第一次设置时的删除时间
2.修改hash、set、Zset、list的值,会使过期时间重置吗?...
2023-11-01