经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Redis » 查看文章
浅析python redis的连接及相关操作
来源:jb51  时间:2019/11/7 20:23:46  对本文有异议

redis简介

Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。是一个非关系型数据库,经常会用作缓存,消息中间件的操作

redis优势

  • 速度快,因为数据存在内存中
  • 支持丰富数据类型,支持字符串,哈希表,列表,集合,有序集合
  • 支持事务,操作都是原子性
  • 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除

1、redis连接、及存取值

  1. import redis
  2. r = redis.Redis(host='192.168.2.22',port=6379,db=2,password= 'redis')
  3. r.set('name','Delia') # 在redis里面放置对应的key,value
  4. v = r.get('name') # 获取key值对应的value值
  5. print(v)

redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。

默认,每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数Redis,这样就可以实现多个Redis实例共享一个连接池。

  1. import redis
  2. pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis')
  3. r = redis.Redis(connection_pool=pool)
  4. r.set('name','Delia') # 在redis里面放置对应的key,value
  5. v = r.get('name') # 获取key值对应的value值
  6. print(v)

输出结果里面的b代表的是二进制

 2、批量存取值

  1. import redis
  2. pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis')
  3. r = redis.Redis(connection_pool=pool)
  4. r.mset({'name':'Delia','age':'18'}) # mset(mapping=''),批量设置值 {k1 = '' ,k2 = ''}
  5. v = r.mget({'name','age'}) # 批量获取值
  6. print(v)

输出结果:

[b'Delia', b'18']

3、存取value的某个范围

  1. import redis
  2. pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis')
  3. r = redis.Redis(connection_pool=pool)
  4. r.set('name','Delia1234')
  5. r.setrange('name',4,'00') #setrange(name,offset,value)修改字符串内容,从指定位置开始替换
  6. v = r.getrange('name',4,5) #getrange(key,start,end)获取子序列
  7. print(v)

输出结果:

b'00'

4、在value中追加内容

  1. import redis
  2. pool = redis.ConnectionPool(host='192.168.2.22', port=6379, db=2, password='redis')
  3. r = redis.Redis(connection_pool=pool)
  4. r.set('name','Delia1234')
  5. r.append('name','aaa') #append(key,value)在redis name对应的值后面追加内容
  6. v = r.get('name')
  7. print(v)

输出结果:

b'Delia1234aaa'

总结

以上所述是小编给大家介绍的python redis的连接及相关操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对w3xue网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号