zoukankan      html  css  js  c++  java
  • redis -- python操作连接redis简单示例

    1.先安装 redis,pyredis

    sudo pip install redis  

    sudo pip install python-redis


    2.示例:

    importredis
    >>>r=redis.Redis(host='localhost',port=6379,db=0)
    >>>r.set('guo','shuai')
    True
    >>>r.get('guo')
    'shuai'
    >>>r['guo']            
    'shuai'
    >>>r.keys()
    ['guo']
    >>>r.dbsize()        #当前数据库包含多少条数据      
    1L
    >>>r.delete('guo')
    1
    >>>r.save()              #执行“检查点”操作,将数据写回磁盘。保存时阻塞
    True
    >>>r.get('guo');
    >>>r.flushdb()        #清空r中的所有数据
    True


    3.管道:

    server和client之间是利用socket发送tcp报文进行通信的,利用pipeline的方式从client打包多条命令一起发出,不需要等待单条命令的响应返回,而redis服务端会处理完多条命令后会将多条命令的处理结果打包到一起返回给客户端。这样就能节省浪费在网络延迟上的时间, pipeline方式打包命令发送,redis必须在处理完所有命令前先缓存起所有命令的处理结果。打包的命令越多,缓存消耗内存也越多。所以并是不是打包的命令越多越好。

    p=r.pipeline()        --创建一个管道
    >>>p.set('hello','redis')
    >>>p.sadd('faz','baz')
    >>>p.incr('num')
    >>>p.execute()
    [True,1,1]
    >>>r.get('hello')

    管道的命令可以写在一起,如:

    默认的情况下,管道里执行的命令可以保证执行的原子性,执行pipe = r.pipeline(transaction=False)可以禁用这一特性。


    附:Sentinel是一个管理多个redis实例的工具,它可以实现对redis的监控、通知、自动故障转移。
  • 相关阅读:
    hdu 3652 【数位dp】
    02 -body标签中相关标签
    01-html介绍和head标签
    python 核心编程第九章文件
    python核心编程 第七章 字典,集合 练习
    常用链接
    python核心编程 第七章 字典
    python核心编程 第六章 字符串,元组,列表 字符串元组只读不可变。列表可变。
    python核心编程 第五章 数字
    python读取文件中的路径内容,保存到另外的路径中
  • 原文地址:https://www.cnblogs.com/cxsabc/p/10627660.html
Copyright © 2011-2022 走看看