安装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

The StrictRedis class attempts to adhere to the official command syntax.

and

In addition to the changes above, the Redis class, a subclass of StrictRedis,

overrides several other commands to provide backwards compatibility with older

versions of redis-py

Do you need backwards compatibility? Use Redis. Don't care? Use StrictRedis.

简单来说就是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接口的更多相关文章

  1. ❤️Python接口自动化,一文告诉你连接各大【数据库】建议收藏❤️

    @ 目录 前言 常见数据库 Mysql Oracle sql-server PostgreSQL MongoDB Redis 前言 相信很多小伙伴在使用python进行自动化测试的时候,都会涉及到数据 ...

  2. caffe的python接口学习(7):绘制loss和accuracy曲线

    使用python接口来运行caffe程序,主要的原因是python非常容易可视化.所以不推荐大家在命令行下面运行python程序.如果非要在命令行下面运行,还不如直接用 c++算了. 推荐使用jupy ...

  3. Windows+Caffe+VS2013+python接口配置过程

    前段时间在笔记本上配置了Caffe框架,中间过程曲曲折折,但由于懒没有将详细过程总结下来,这两天又在一台配置较高的台式机上配置了Caffe,配置时便非常后悔当初没有写到博客中去,现已配置好Caffe, ...

  4. 机器学习caffe环境搭建——redhat7.1和caffe的python接口编译

    相信看这篇文章的都知道caffe是干嘛的了,无非就是深度学习.神经网络.计算机视觉.人工智能这些,这个我就不多介绍了,下面说说我的安装过程即遇到的问题,当然还有解决方法. 说下我的环境:1>虚拟 ...

  5. Caffe + Ubuntu 14.04 64bit + 无CUDA(linux下安装caffe(无cuda)以及python接口)

    安装Caffe指导书 环境: Linux 64位 显卡为Intel + AMD,非英伟达显卡 无GPU 一. 安装准备工作 1. 以管理员身份登录 在左上角点击图标,搜索terminal(即终端),以 ...

  6. caffe的python接口学习(1):生成配置文件

    caffe是C++语言写的,可能很多人不太熟悉,因此想用更简单的脚本语言来实现.caffe提供matlab接口和python接口,这两种语言就非常简单,而且非常容易进行可视化,使得学习更加快速,理解更 ...

  7. Caffe学习系列(11):数据可视化环境(python接口)配置

    参考:http://www.cnblogs.com/denny402/p/5088399.html 这节配置python接口遇到了不少坑. 1.我是利用anaconda来配置python环境,在将ca ...

  8. caffe中python接口的使用

    下面是基于我自己的接口,我是用来分类一维数据的,可能不具通用性: (前提,你已经编译了caffe的python的接口) 添加 caffe塻块的搜索路径,当我们import caffe时,可以找到. 对 ...

  9. Caffe学习系列(13):数据可视化环境(python接口)配置

    caffe程序是由c++语言写的,本身是不带数据可视化功能的.只能借助其它的库或接口,如opencv, python或matlab.大部分人使用python接口来进行可视化,因为python出了个比较 ...

随机推荐

  1. EntityFunctions.AsNonUnicode

    http://blog.csdn.net/zzx3q/article/details/7863797 使用工具VS2010 凡是调用FindAll的地方,如果传入参数是String类型的变量(数字类型 ...

  2. java Map及Map.Entry详解

    Map是java中的接口,Map.Entry是Map的一个内部接口. Map提供了一些常用方法,如keySet().entrySet()等方法. keySet()方法返回值是Map中key值的集合:e ...

  3. AMD加载器实现笔记(一)

    之前研究过AMD,也写过一篇关于AMD的文章<以代码爱好者角度来看AMD与CMD>.代码我是有看过的,基本的原理也都明白,但实际动手去实现却是没有的.因为今年计划的dojo教程<静静 ...

  4. 冲刺阶段 day12

    项目进展 周二我们将专业管理部分又继续做了完善,之前漏掉的几项功能也都在熟能生巧中编写的越来越顺畅,但还差最后一点数据库部分没能实现,我们会尽快完成. 存在问题 还是与数据库的连接上出现问题,部分不能 ...

  5. Propagation of Visual Entity Properties Under Bandwidth Constraints

    1. Introduction The Saga of Ryzom is a persistent massively-multiplayer online game (MMORPG) release ...

  6. shell 中命令输入的快!捷!键!

    非常棒!! 非常棒!! 删除ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dlctrl + h 删除光标所在位置前的字符相当于VIM里hx或者dhctrl + k 删除光标后面所有字符 ...

  7. 奇怪的BUG

    熟语说“常在河边走,哪能不湿鞋”,在现实中我想说:“代码写多了,总会遇到奇怪的bug”,遇到bug不可怕,可怕的是不自己不知道这么解决,有些bug能当时解决,有些在自己知识水平提高后知道如何解决.还有 ...

  8. ios 常用数学函数

    需要 引入头文件 #import <math.h> 1. 三角函数  double sin (double);正弦  double cos (double);余弦  double tan ...

  9. Nginx下WordPress的Rewrite

    最近接触WP Super Cache,该插件要求固定链接必须是重写的,故用到Rewrite. 我的是这样配置的: /usr/local/nginx/conf/rewrite/wordpress.con ...

  10. paip.2013年技术趋势以及热点 v2.0 cae

    paip.2013年技术趋势以及热点 v2.0 cae HTML5 多核编程 物联网 可穿戴计算设备 3. 物联网 无论是M2M(机器对机器)通信应用,还是NFC(进距离通信)技术,都是物联网的组成部 ...