redis是一个key-value结构的数据库,value的格式可以使string,set,list,map(即python里面的dict),sorted set(有序集合)

1.初始化

1)直接连接

import redis
r = redis.StrictRedis(host='127.0.0.1', port=6379)

2)连接池连接
redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认,每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数Redis,这样就可以实现多个Redis实例共享一个连接池。

import redis  

pool = redis.ConnectionPool(host='127.0.0.1', port=6379)
r = redis.Redis(connection_pool=pool)
r.set('one', 'first')
r.set('two', 'second')
print r.get('one')
print r.get('two')

redis pipeline机制

可以在一次请求中执行多个命令,这样避免了多次的往返时延。

import redis  

pool = redis.ConnectionPool(host='127.0.0.1', port=9212)
r = redis.Redis(connection_pool=pool)
pipe = r.pipeline()
pipe.set('one', 'first')
pipe.set('two', 'second')
pipe.execute()

2.String的存取

r.set("key1","value1")
r.get("key1") r.delete("key1")

3.dict的存取

#存
r.hset("usr1","name","kevin")
r.hset("usr1","age","")
#取
d=r.hgetall("usr1")

hgetall()方法会返回字典类型{"name":"kevin","age":"18"}

4.set,即无需的列表

r.sadd("key1","value1","value2","value3")

r.smembers("key1")

5.list

def rpush():
r.rpush("log","log11")
r.rpush("log","log22")
r.rpush("log","log33") rpush()
print "len",r.llen("log") r.ltrim("log",0,3)
range=r.lrange("log",0,-1)
print "lrange",range,type(range)

rpush()添加元素,llen()查看列表长度,ltrim()修剪列表,只保留起始下标到结束下标之间的数据,lrange(),为查找数据,查找出起始下标到结束下标之间的数据,返回的数据类型为list,如果结束下标小于起始下标,返回全部

后面的继续学习……

参考:http://blog.csdn.net/shellshine/article/details/7669860

Python中的redis学习笔记的更多相关文章

  1. python中的configparse学习笔记

    configparse主要用于在python中进行配置文件的读取. 基本的读取配置文件: -read(filename) 直接读取ini文件内容 -sections() 得到所有的section,并以 ...

  2. python中strip()方法学习笔记

    Python strip() 方法用于移除字符串头尾指定的字符(默认为空格). 当使用strip('xxx'),只要字符串头尾有"xxx"中的一个,就会去掉,而不是符合字符串''x ...

  3. 【Python】PYTHON中STRIP()方法学习笔记

    Python strip() 方法用于移除字符串头尾指定的字符(默认为空格). 当使用strip('xxx'),只要字符串头尾有"xxx"中的一个,就会去掉,而不是符合字符串''x ...

  4. Python中turtle绘图学习笔记和实例

    一.既然本次讲的主角是turtle函数库,那肯定得先了解一下它是什么 turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位 ...

  5. python中format函数学习笔记

    简而言之,format函数就是用{}来代替之前的输出字符时使用的% print('my name is %s and I am %d years old' % ('porsche',23)) 下面详细 ...

  6. Redis学习笔记~目录

    回到占占推荐博客索引 百度百科 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合). ...

  7. redis 学习笔记(6)-cluster集群搭建

    上次写redis的学习笔记还是2014年,一转眼已经快2年过去了,在段时间里,redis最大的变化之一就是cluster功能的正式发布,以前要搞redis集群,得借助一致性hash来自己搞shardi ...

  8. Redis学习笔记4-Redis配置详解

    在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server   xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redi ...

  9. Redis学习笔记7--Redis管道(pipeline)

    redis是一个cs模式的tcp server,使用和http类似的请求响应协议.一个client可以通过一个socket连接发起多个请求命令.每个请求命令发出后client通常会阻塞并等待redis ...

随机推荐

  1. [置顶] linux 解压版安装

    1:下载mysql解压版包去官网下载www.mysq.com 下载.下载linux通用版本就好了 2.基本配置 首先,我们准备好Linux环境,我们使用CentOS 5.8进行试验安装.第一步,我们需 ...

  2. Android SDK Manager无法更新问题解决

    有时候在网络不好的情况下,android sdk manager更新可能一直报错.原因跟国内对于google相关服务的访问受限有关系,需要设置代理访问. 最近也遇到了这个问题.解决方法如下. 启动An ...

  3. JSTL-core核心代码标签库中的forEach,remove, forTokens,choose,when,otherwise,redirect 标签

    <%@ page language="java" import="java.util.*, cn.hncu.domain.*" pageEncoding= ...

  4. javaHDU1003Max Sum

    import java.util.Scanner;  public class Sum  {public static void main(String args[])  {Scanner cin=n ...

  5. air2调用本地exe的文章

    流传了两种配置app.xml的方法,分别是: <supportedProfiles>extendedDesktop</supportedProfiles>  <suppo ...

  6. VS2010数据库连接问题

    我用SQL server 2008写了一个小表格,运行VS的前选择了 工具-连接数据库,然后选择了那个表格的名称.运行后出现如下错误提示,请问是哪里出了问题呢? 数据库连接版本有问题.在VS中把信用数 ...

  7. jQuery中的html,val,text区别

    在项目开发中,写jQuery代码有时候会搞混淆一下东西,现在写一下demo来列出jQuery的.html(),.text(),.val()的区别. 1. html()取得第一个匹配元素的内容,简单来说 ...

  8. Hibernate注解错误之- org.hibernate.MappingException: Could not determine type for:

    Hibernate 注解 @OneToOne 时候,出现以下错误,经调试,发现 注解要么全部放在字段上,要么全部放在get方法上,不能混合使用! org.hibernate.MappingExcept ...

  9. Service解析

    Service解析: 运行service有如下两种方式: StartService() 访问者退出,service仍然运行: BindService() 访问者与service绑定,访问者退出,ser ...

  10. json 转 javaBean

    前言:经常在网络上看见一些关于json自动转换成javaBean的jar包,项目组里的人也在用,稍稍研究了下,都是用的反射来做的.我细细想了下里面的逻辑,我觉得直接生成JavaBean代码岂不是更加直 ...