Redis使用总结(2):Python接口
安装redis-py
sudo pip2 install redis
牛刀小试
redis连接实例是线程安全的,可以直接将redis连接实例设置为一个全局变量直接使用。如果需要另一个Redis实例(or Redis数据库),需要重新创建redis连接实例来获取一个新的连接。有余这个原因,python的redis接口没有实现select命令。
首先,导入相应的包
import redis
接着,创建连接redis实例
rcon = redis.Redis(host="localhost",port=6379,db=0)
或
rcon = redis.StrictRedis(host="localhost",port=6379,db=0)
这两者之间的差别可以浏览这个问题
redis-py exposes two client classes that implement these commands
TheStrictRedisclass attempts to adhere to the official command syntax.
and
In addition to the changes above, theRedisclass, a subclass ofStrictRedis,
overrides several other commands to provide backwards compatibility with older
versions of redis-py
Do you need backwards compatibility? UseRedis. Don't care? UseStrictRedis.
简单来说就是Redis是StrictRedis的子类,用来兼容之前版本的Redis,如果你没有需要兼容的,就用StrictRedis
下面就来尝试一些redis-cli中使用的命令吧
>>> rcon.set('name','Tacey Wong')
True
>>> rcon.get('name')
'Tacey Wong'
>>> rcon['name']
'Tacey Wong'
>>> rcon.keys()
['name']
>>> rcon.dbsize() #当前数据库中数据条数
1L
>>> rcon.delete('name')
1
>>> rcon.save() #将数据写回磁盘(保存时阻塞)
True
>>> rcon.get('name');
>>> rcon.flushdb() #清控rcon实例所选db中的数据
>>> rcon.flushall() #清空rcon实例中的所有数据(所有db)
Python中使用Redis的管道(pipeline)
管道(pipeline)是redis在提供单个请求中缓冲多条服务器命令的基类子类。通过减少服务器-客户端之间反复的TCP数据库包,从而大大提高了执行批量命令的功能。
创建一个管道
_pipe = rcon.pipeline()
准备多个命令
_pipe.set('hello','redis')
_pipe.sadd('faz','baz')
_pipe.incr('num')
一次性执行上边的三个命令
>>> _pipe.execute()
[True, 1, 1]
测试读取上边存入的一条数据
>>> rcon.get('hello')
'redis'
管道的命令可以写在一起,如上边的命令可以写成下面的形式:
>>> p.set('hello','redis').sadd('faz','baz').incr('num').execute()
1
默认的情况下,管道里执行的命令可以保证执行的原子性,将transaction设置为False:_pipe = rcon.pipeline(transaction=False)可以禁用这一特性。
后续
参考Redis的Redis-cli命令
Redis使用总结(2):Python接口的更多相关文章
- ❤️Python接口自动化,一文告诉你连接各大【数据库】建议收藏❤️
@ 目录 前言 常见数据库 Mysql Oracle sql-server PostgreSQL MongoDB Redis 前言 相信很多小伙伴在使用python进行自动化测试的时候,都会涉及到数据 ...
- caffe的python接口学习(7):绘制loss和accuracy曲线
使用python接口来运行caffe程序,主要的原因是python非常容易可视化.所以不推荐大家在命令行下面运行python程序.如果非要在命令行下面运行,还不如直接用 c++算了. 推荐使用jupy ...
- Windows+Caffe+VS2013+python接口配置过程
前段时间在笔记本上配置了Caffe框架,中间过程曲曲折折,但由于懒没有将详细过程总结下来,这两天又在一台配置较高的台式机上配置了Caffe,配置时便非常后悔当初没有写到博客中去,现已配置好Caffe, ...
- 机器学习caffe环境搭建——redhat7.1和caffe的python接口编译
相信看这篇文章的都知道caffe是干嘛的了,无非就是深度学习.神经网络.计算机视觉.人工智能这些,这个我就不多介绍了,下面说说我的安装过程即遇到的问题,当然还有解决方法. 说下我的环境:1>虚拟 ...
- Caffe + Ubuntu 14.04 64bit + 无CUDA(linux下安装caffe(无cuda)以及python接口)
安装Caffe指导书 环境: Linux 64位 显卡为Intel + AMD,非英伟达显卡 无GPU 一. 安装准备工作 1. 以管理员身份登录 在左上角点击图标,搜索terminal(即终端),以 ...
- caffe的python接口学习(1):生成配置文件
caffe是C++语言写的,可能很多人不太熟悉,因此想用更简单的脚本语言来实现.caffe提供matlab接口和python接口,这两种语言就非常简单,而且非常容易进行可视化,使得学习更加快速,理解更 ...
- Caffe学习系列(11):数据可视化环境(python接口)配置
参考:http://www.cnblogs.com/denny402/p/5088399.html 这节配置python接口遇到了不少坑. 1.我是利用anaconda来配置python环境,在将ca ...
- caffe中python接口的使用
下面是基于我自己的接口,我是用来分类一维数据的,可能不具通用性: (前提,你已经编译了caffe的python的接口) 添加 caffe塻块的搜索路径,当我们import caffe时,可以找到. 对 ...
- Caffe学习系列(13):数据可视化环境(python接口)配置
caffe程序是由c++语言写的,本身是不带数据可视化功能的.只能借助其它的库或接口,如opencv, python或matlab.大部分人使用python接口来进行可视化,因为python出了个比较 ...
随机推荐
- Java多线程10:ThreadLocal的作用及使用
ThreadLocal的作用 从上一篇对于ThreadLocal的分析来看,可以得出结论:ThreadLocal不是用来解决共享对象的多线程访问问题的,通过ThreadLocal的set()方法设置到 ...
- 【T-SQL基础】02.联接查询
概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...
- node.js module初步理解
在开发一个复杂的应用程序的时候,我们需要把各个功能拆分.封装到不同的文件,在需要的时候引用该文件.没人会写一个几万行代码的文件,这样在可读性.复用性和维护性上都很差,几乎所有的编程语言都有自己的模块组 ...
- Java中equals与==和comparaTo的区别
一.先说说Java中equals和==的区别: Java中的数据类型,可分为两类: 1.基本数据类型(也叫原始数据类型) 八大基本数据类型 char byte short int long doubl ...
- paip.提升性能--多核cpu中的java/.net/php/c++编程
paip.提升性能--多核cpu中的java/.net/php/c++编程 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http ...
- paip.python错误解决23
paip.python错误解决 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attilax ...
- PHP性能优化工具–xhprof安装
PHP性能优化工具–xhprof安装,这里我先贴出大致的步骤: 1.获取xhprof 2.编译前预处理 3.编译安装 4.配置php.ini 5.查看运行结果 那么下面我们开始安装xhprof工具吧: ...
- ui-router带参数的ui-sref配置
ui-router带参数的ui-sref配置 路由 .state('app.user_edit', { url:'user/userid/:userid', templateUrl: 'compone ...
- 技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)
1.前言 作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UDP协议),但对于IP协议,对于应用程序员来说更多的印象还是IP地址这个东西,再往深一点也就很难 ...
- 当你还在纠结于ORM的性能时,我已经远远的把你抛在脑后
最近找工作面试,问到一些过去的工作和项目经验.我把公司用到的ORM框架(LLBL Gen)拿出来谈一谈,说一下他的优势,对方却一直追问ORM的好处,性能方面的问题,让我有时候都不知道如何回答,产生了不 ...