Redis的Python客户端redis-py的初步使用

作者:网络    软件教程库   2020-05-13

1. 安装

sudo pip install redis
sudo pip install hiredis

parser可以控制如何解析redis响应的内容。redis-py包含两个parser类,pythonparser和hiredisparser。默认,如果已经安装了hiredis模块,redis-py会使用hiredisparser,否则会使用pythonparser。hiredisparser是c编写的,由redis核心团队维护,性能要比pythonparser提高10倍以上,所以推荐使用。

2. 使用

redis-py提供两个类redis和strictredis用于实现redis的命令,strictredis用于实现大部分官方的命令,并使用官方的语法和命令(比如,set命令对应与strictredis.set方法)。redis是strictredis的子类,用于向后兼容旧版本的redis-py。 简单说,官方推荐使用strictredis方法。

不推荐redis类,原因是他和咱们在redis-cli操作有些不一样,主要不一样是下面这三个方面。

lrem:参数lsquo;numrsquo;和lsquo;valuersquo;的顺序交换了一下,cli是 lrem queuename 0 lsquo;stringrsquo; 。 这里的0时所有的意思。 但是redis这个类,把控制和string调换了。

zadd:实现时score和value的顺序不小心弄反了,后来有人用了,就这样了

setex:time和value的顺序反了

.pool: 连接池

import redis  
  
r = redis.strictredis(host=‘127.0.0.1‘, port=9212)  
r.set(‘foo‘, ‘hello‘)  
r.rpush(‘mylist‘, ‘one‘)  
print r.get(‘foo‘)  
print r.rpop(‘mylist‘)  

如果在创建strictredis实例时没有指定连接池connection pool,那会自动创建一个。我们可以先建好一个连接池,在创建strictredis时指定该连接池,这样就可以实现多个strictredis实例共享一个连接池了。这样可以节省内存等资源消耗。

import redis  
  
pool = redis.connectionpool(host=‘127.0.0.1‘, port=9212)  
r_1 = redis.strictredis(connection_pool = pool)
r_2 = redis.strictredis(connection_pool = pool)
r_1.set(‘one‘, ‘first‘)
r_2.set(‘two‘, ‘second‘)
print r_1.get(‘one‘)
print r_2.get(‘two‘)

redis pipeline机制,对应的是redis中的事务,可以在一次请求中执行多个命令,这样避免了多次的往返时延。

参考:

使用redis-py的两个类redis和strictredis时遇到的坑

redis的python客户端redis-py

redis的python客户端redis-py的初步使用

原文地址:http://www.cnblogs.com/ajianbeyourself/p/4471391.html

软件教程库 原文地址:https://www.itjcku.com/9999/1091386.html

阅读全部内容


Tags:客户端初步使用

返回首页



推荐内容

《构建高性能Web站点》笔记

书名:构建高性能web站点 出版社: 电子工业出版社 isbn:9787121170935 一 绪论 等待的时间: ( ...

制作OSX10.10.3启动安装U盘

1.获得install os xyosemite.app 2.准备一个8gb的u盘,用磁盘工具抹掉,格式默认的mac o ...

域名解析URL转发

url转发 转发功能:如果您没有一台独立的服务器(也就是没有一个独立的ip地址)或者您还有一个域名b,您想访问a域名时访 ...

instancetypeVSid

英文好的直接读下面链接的文章就好了: http://stackoverflow.com/questions/897222 ...

androidapp开发感想

这几天帮学长做app的时候,照着视频学了json数据的传递,接着遇到了问题,就是httpurlconnection会 ...

常用软件及注册码

vmware-workstation-full-11.0.0-2305329.exe m50ac-j034j-08l8a ...

[POJ3420]QuadTiling

quad tiling time limit:1000ms memory limit:65536k to ...

C-关键字,标识符,注释

一.关键字:c语言中提供了有特殊含义的符号,也叫做保留字。 c语言中一个32个关键字,这些关键字都被赋予了 ...

C-基本概念

一.程序结构 1.c 程序结构:任何一个c程序都是由一个或小个程序代码块组成,每个小程序都有自己的功能,一般称这些小 ...

应该具备的能力

1. 学习能力(learning ability)   有些东西不懂很正常,从不懂到懂,从懂到精通,自己想想,原来不会的 ...

Apache-rhel5.8环境下编译安装

apache安装过程 step 1:安装包gcc或gcc-c++# yum install gcc#yum insta ...

OpenWrt学习目标

最近在研究openwrt,总感觉这一看一点那也了解一点,没有目的,也没有重心。 这里,给自己拟定一个目标,就朝着这个目标 ...

HelloKiki(hdu3579+不互质的中国剩余定理)

hello kiki time limit:1000msmemory limit:32768kb64bit io ...

android环境下摄像头数据采集及显示

以前项目涉及些摄像头预览及数据处理操作,当时的需求是除了做摄像头预览外,还要显示文字、个性图像等,当初在查找资料实 ...

uva10003CuttingSticks简单区间dp

// uva 10003 cutting sticks 区间dp // 经典的区间dp // dp(i,j)表示切割小木 ...

Go的语言特性总结

写在前面: 近来关于对golang的讨论有很多,七牛的几个大牛们也断定go语言在未来将会快速发展,并且很可能会取代ja ...

golang控制channel的出入口

golang控制channel的出入口 我们常常使用channel来在多个goroutine之间做数据通讯,但是cha ...

UVA10479TheHendrieSequence规律

题目大意:一个序列,刚开始由0变到了1,接着往后一个个变化下去 变化的规则是,如果当前数是k,就在这个序列的最后面加上 ...

在不是Activity类中调用Toast和Dialog

有时候我们需要在非activity类中处理一些逻辑,显示toast对话框或者是弹出一个dialog,但是在非activi ...

查询Oraclesql语句中绑定变量值的方法

alter session set nls_date_format = #39;yyyy-mm-dd,hh24:mi:s ...

Hdoj1588GaussFibonacci【矩阵快速幂】

gauss fibonacci time limit: 1000/1000 ms (java/others) m ...

Hdoj5195DZYLovesTopologicalSorting【拓扑】+【线段树】

dzy loves topological sorting time limit: 4000/2000 ms (jav ...

【转自mos文章】使用单条sql来查询出awr中的syatemstatistics

使用单条sql来查询出awr中的syatem statistics 参考自: how to monitor system ...

I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之u-boot移植

前段时间就开始学习i.mx6q了,但是最近工作实在是忙,间断了一些时间了。为了提高移植效率,还是考虑移植freescal ...

eclipse应用技巧

最近发现eclipse作为ide还是有很多值得探索的使用技巧的,转载一下他人整理好的资源以做分享。 快捷键的使用,加速 ...

Mysql创建数据库的排序规则中文选择哪种编码

mysql中文编码 mysql创建数据库的排序规则 中文 选择哪种编码原文地址:http://blog. ...

线性表简述

一、简单实现增,删,改、查 package datatructs; /** * 表接口 */ public int ...

android测试本地服务调试流程

我今天调试的整个过程 1,安卓发现连不上本地的tomcat 2,使用浏览器直接尝试,发现可以连上 3,怀疑是安卓app和 ...

设计模式1

静态工厂模式,工厂方法模式,抽象工厂模式 工厂方法改进了添加新产品时,静态工厂不满足的开-闭原则;而抽象工厂满足了当产品 ...

c语言文件操作总结

#includelt;stdio.hgt; /********************************** ...


本网站部分内容来自互联网,版权归原作者所有,文章内容仅代表原作者个人观点。如有侵权请联系我们删除 电子邮件 itjcku@foxmail.com