Redis与Python的交互
驱动模块
- redis模块用来在Python环境下驱动Redis数据库
- 可以直接用pip方式安装
pip install redis
或者国内镜像下载:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
创建连接
import redis
con = redis.Redis(
host="localhost",
port="6379",
password="123456",
db=0
)
redis连接池
- 创建连接池
import redis
pool = redis.ConnectionPool(
host="localhost",
port="6379",
password="123456",
db=0
max_connection=20
)
- redis连接池操作完成后不需要关闭连接,用del删除连接对象后会自动归还到连接池
con = redis.Redis(
connection_pool=pool
)
......
del con
redis操作命令
- 字符串
con.set("country","中国")
con.set("city","上海)
city = con.get("city").decode('utf-8')
print(city)
con.delete("city")
con.mset("countyr":"中国","city":"上海")
result = con.mget("country","city")
for one in result:
print(one.decode('utf-8'))
- 哈希
con.hmset("86",{"country":"中国","city":"上海","code":"200000"})
con.hset("86","age":"70")
con.hdel("86","code")
con.hexists("86","city")
result = con.hgetall("86")
for one in result:
print(one.decode("utf-8"))
- 列表
con.rpush("courtry","中国","日本","韩国","印度")
con.lpop("country")
result = con.lrange("country",0,-1)
for one in result:
print(one.decode('utf-8'))
- 集合
con.sadd("courtry","中国","日本","韩国","印度")
con.rem("country","中国")
result = con.smembers("country")
for one in result:
print(one.decode('utf-8'))
- 有序集合
con.zadd("country",{"中国":"0","日本":"0","韩国":"0"})
con.zincrby("country","10","中国")
result = con.zrevrange("country",0,-1)
for one in result:
print(one.decode('utf-8'))
redis-py的事务函数
- redis-py模块用pipline(管道)的方式向redis服务器传递批处理命令和执行事务
pipline = con.pipline()
pipline.watch(......)
pipline.multi()
pipline.execute()
pipline.reset()
redis数据库异常处理和事务结合案例
import redis
pool = redis.ConnectionPool(
host="localhost",
port="6379",
password="123456",
db=0
max_connection=20
)
con = redis.Redis(
connection_pool=pool
)
pipline=con.pipline()
try:
pip.watch("country")
pip.multi()
pipline.zincrby("country","1","中国")
pipline.execute()
except Exception as e:
print(e)
finally:
if "pipline" in dir():
pipline.reset()
del con
Redis与Python的交互的更多相关文章
- Redis与Python进行交互
安装包 安装Redis的有3种方式https://github.com/andymccurdy/redis-py 第一种:进⼊虚拟环境,联⽹安装包redis pip install redis 第二种 ...
- Redis数据库的学习及与python的交互
1. 数据库简介: 当前主要使用两种类型的数据库:关系型数据库(RDBMS).非关系型数据库(NoSQL); (1). 关系型数据库RDBMS: 是建立在关系模型基础上的数据库,借助于集合代数等数学概 ...
- redis与python交互
import redis #连接 r=redis.StrictRedis(host="localhost",port=6379,password="sunck" ...
- Redis的Python实践,以及四中常用应用场景详解——学习董伟明老师的《Python Web开发实践》
首先,简单介绍:Redis是一个基于内存的键值对存储系统,常用作数据库.缓存和消息代理. 支持:字符串,字典,列表,集合,有序集合,位图(bitmaps),地理位置,HyperLogLog等多种数据结 ...
- Redis的Python客户端redis-py的初步使用
1. Redis的安装 sudo pip install redis sudo pip install hiredis Parser可以控制如何解析redis响应的内容.redis-py包含两个Par ...
- LinuxMint上安装redis和python遇到的一些问题
今天在安装Redis和Python上遇到了些问题,解决后记录下来. 环境:LinuxMint 18.3 安装redis sudo wget http://download.redis.io/relea ...
- Redis在python中的使用
一 简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted ...
- python入门(一):进入python的交互模式、pip的使用和数据类型
环境安装: https://www.python.org/ pycharm 社区版路径: http://www.jetbrains.com/pycharm/download/download-than ...
- python 解释器交互模块 -- sys
sys模块是与python解释器交互的一个接口 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.getdefaultencoding(): 获取系统当前编码,一般默认为asci ...
随机推荐
- RAID磁盘阵列结构
RAID磁盘阵列结构原理其实很简单,就是每块硬盘不插在主板的硬盘接口上了,而是全插在RAID卡上,然后RAID卡再插到主板上,由RAID卡统一管理硬盘,做各种RAID磁盘策略(RAID0,RAID1, ...
- 【神经网络与深度学习】【CUDA开发】服务器(多GPU)caffe安装和编译
一. 前提 多GPU交互在神经网络是常见的,所以在安装caffe之前需要安装NCCL,来保证多GPU之间的相互交流. 多GPU,这里指的是2个及2个以上英伟达显卡,而不是笔记本中的集显和独显. 二. ...
- 17 JQuery高级----学习笔记
1. 动画(1) 三种方式显示和隐藏元素 <1> 默认显示和隐藏方式 1. show([speed,[easing],[fn]]) 1. 参数: 1. speed:动画的速度.三个预定义的 ...
- [转帖]《吊打面试官》系列-Redis基础
<吊打面试官>系列-Redis基础 https://www.cnblogs.com/aobing/archive/2019/11/07/11811194.html 你知道的越多,你不知 ...
- 【转帖】你知道X86构架,你知道SH构架吗?
你知道X86构架,你知道SH构架吗? https://www.eefocus.com/mcu-dsp/363100 前面我们讲到了 8 位处理器,32 位处理器,以及 X86 构架,那么除了这些还 ...
- array_merge_recursive 的使用
作用:递归合并数组 场景:在平时开发中,我们可能遇到获取的数据是多个维度的数据,而我们只需要其中的一个. 代码如下: $project_id = 'project_id'; $arr1 = [ 'pr ...
- Mitsubishi (三菱) Fanuc(发那科),CNC,网口数据采集,NC程序下发(其它品牌CNC,哈斯 马扎克 兄弟等,正在开发中)
1.话不多说,先看效果 三菱CNC Fanuc CNC 2.能采集的数据有如下: 产量,状态,轴负载,坐标,主轴转速,三个倍率(主轴倍率 进给倍率 快速倍率),进给速度,当前加工程序名/程序号,当前程 ...
- easyui的学习总结
大家都知道easy-ui,样式虽然不怎么骚气,但是使用,小表格,很的大家欢喜 大致总结如下 :属性分为CSS片段和JS片段.CSS类定义:1.div easyui-window 生成一个window窗 ...
- C# vb .net实现gamma伽玛调整特效滤镜
在.net中,如何简单快捷地实现Photoshop滤镜组中的gamma伽玛调整特效滤镜呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: ...
- 转 Json数据格式化
/// <summary> /// JSON字符串格式化 /// </summary> /// <param name="json"></ ...