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的监控、通知、自动故障转移。
  • 相关阅读:
    入门学习嵌入式260期手把手配套视频7个项目实战送书
    使用from 的setTimeOut方法实现定时关闭Form
    C#面试题
    《JS语法字典》网友总结
    简单SQL语句小结
    面试前的简历
    Hello World的17种写法(C#)(转贴)
    张芸京 偏爱
    关于我对.setTmp()的理解及应用
    VS 2005使用技巧
  • 原文地址:https://www.cnblogs.com/cxsabc/p/10627660.html
Copyright © 2011-2022 走看看