浅析python redis的连接及相关操作


Posted in Python onNovember 07, 2019

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的连接及相关操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python中的列表推导浅析
Apr 26 Python
跟老齐学Python之list和str比较
Sep 20 Python
Python制作Windows系统服务
Mar 25 Python
flask中过滤器的使用详解
Aug 01 Python
python实现随机梯度下降法
Mar 24 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
Dec 12 Python
python 计算一个字符串中所有数字的和实例
Jun 11 Python
Python序列对象与String类型内置方法详解
Oct 22 Python
python logging添加filter教程
Dec 24 Python
Python基于Tensor FLow的图像处理操作详解
Jan 15 Python
如何基于Python Matplotlib实现网格动画
Jul 20 Python
Python机器学习之底层实现KNN
Jun 20 Python
大家都说好用的Python命令行库click的使用
Nov 07 #Python
flask 实现token机制的示例代码
Nov 07 #Python
python3反转字符串的3种方法(小结)
Nov 07 #Python
Python中__repr__和__str__区别详解
Nov 07 #Python
Python通过Manager方式实现多个无关联进程共享数据的实现
Nov 07 #Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
Nov 07 #Python
Python中xml和dict格式转换的示例代码
Nov 07 #Python
You might like
php错误级别的设置方法
2013/06/17 PHP
php实现批量压缩图片文件大小的脚本
2014/07/04 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
php获取数组元素中头一个数组元素值的实现方法
2014/12/20 PHP
利用PHP访问带有密码的Redis方法示例
2017/02/09 PHP
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
javascript中数组的sort()方法的使用介绍
2013/12/18 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
EasyUI实现下拉框多选功能
2017/11/07 Javascript
vue项目中用cdn优化的方法
2018/01/03 Javascript
vue watch自动检测数据变化实时渲染的方法
2018/01/16 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
基于React+Redux的SSR实现方法
2018/07/03 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
JS async 函数的含义和用法实例总结
2020/04/08 Javascript
[02:46]2014DOTA2国际邀请赛 选手为你解读比赛MVP充满梦想
2014/07/09 DOTA
python引用DLL文件的方法
2015/05/11 Python
Python中pip安装非PyPI官网第三方库的方法
2015/06/02 Python
Python fileinput模块使用实例
2015/06/03 Python
详解Django中的过滤器
2015/07/16 Python
jupyter实现重新加载模块
2020/04/16 Python
python异步Web框架sanic的实现
2020/04/27 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
Python操控mysql批量插入数据的实现方法
2020/10/27 Python
船舶专业个人求职信范文
2014/01/02 职场文书
主办会计岗位职责
2014/03/13 职场文书
个人培训自我鉴定
2014/03/28 职场文书
《东方明珠》教学反思
2014/04/20 职场文书
2014年党支部学习材料
2014/05/19 职场文书
争当四好少年演讲稿
2014/09/13 职场文书
公务员考察材料范文
2014/12/23 职场文书
北京故宫导游词
2015/01/31 职场文书
怎样写观后感
2015/06/19 职场文书