• python操作redis


    一,python安装redis模块

    pip3 install -y redis

    二,python连接redis

    import redis
    
    r = redis.Redis(host='192.168.1.108',port=6379,password='dasini',db=0)
    
    # r = redis.StrictRedis(host='192.168.1.108',port=6379,db=0)端口可以默认可以不写
    
    r.set('name','test')
    
    print(r.get('name'))
    
    #redis输出的结果默认是二进制流,为了方便其他代码处理,所以我们可以添加decode_resopnses=True.
    
    import redis
    
    r = redis.Redis(host='192.168.1.108',port=6379,password='dasini',db=0,decode_responses=True)
    
    r .set('name','python')
    
    print(r.get('name'))
    

      

    三,使用连接池

    import redis
    
    pool = redis.ConnectionPool(host='192.168.1.108',port=6379,password='dasini',db=0,decode_responses=True)
    
    r = redis.Redis(connection_pool=pool)
    
    r.set('name2','ruby')
    
    print(r.get('name2'))

    四,常用的数据类型的操作

    a,String操作

    import redis
    
    pool=redis.ConnectionPool(host='192.168.1.108',port=6379,password='dasini',db=0,decode_responses=True)
    
    r = redis.Redis(connection_pool=pool)
    
    
    #set(name, value, ex=None, px=None, nx=False, xx=False) 创建key和value
    '''
    ex 表示过期时间,以s为单位
    px 表示过期时间,以ms为单位
    nx 当nx的值为True时,如果name不存在,则执行set操作
    xx 当xx的值为True时,如果name存在,则执行set操作
    '''
    
    r.set('name','python')
    
    print(r.get('name'))
    
                    # 运行结果:python
    
    #创建过期时间的key
    
    r.set('sex','male',ex=100)
    print(r.get('sex'))
    
    
    
    #setnx,和set中的参数nx一样,如果key存在,则不执行set操作。
    
    r.setnx('name','ruby')
    
    print(r.get('name'))
    
                    # 运行结果:python
    
    
    #setex,psetex 和set中参数ex一样,可以设置生命周期,其中setex单位为s,psetex单位为ms.
    
    r.setex('address','sh',100)
    r.psetex('mail',100,'ttsir@foxmail.com')
    
    
    #mset  批量设置key
    
    r.mset(name1='tom',name2='jack')
    
    print(r.mget('name1','name2'))
    
    
    #append往  key里面追加内容
    
    r.set('mystring','good good study study')
    r.append('mystring',' day day up up')
    
    print(r.get('mystring'))
    

      

     b,list常用操作

    #删除testlist
    r.delete('testlist')
    #从列表左边插
    r.lpush('testlist',1)
    r.lpush('testlist',2)
    
    #从列表右边插
    r.rpush('testlist',3)
    
    #输出列表的内容
    print(r.lrange('testlist',0,-1))
    
    #计算列表的元素
    
    print(r.llen('testlist'))
    
    #在列表指定位置插入值
    
    r.linsert('testlist','after',3,4)   #在testlist列表中找到下标为3的元素然后在它后面插入4
    
    print(r.lrange('testlist',0,-1))
    
    #更改列表中的指定下标的值
    
    r.lset('testlist',0,10000)
    
    print(r.lrange('testlist',0,-1))
    
    #删除列表中的元素
    r.lpush('testlist',1)
    print(r.lrange('testlist',0,-1))
    r.lrem('testlist',1)
    print(r.lrange('testlist',0,-1))
    
    
    #删除列表中最后1个元素或者第一个元素
    r.lpop('testlist')
    
    print(r.lrange('testlist',0,-1))
    
    r.rpop('testlist')
    print(r.lrange('testlist',0,-1))
    
    
    #根据下标获取某个值
    
    r.lindex('testlist',0)
    
    print(r.lrange('testlist',0,-1))
    

      

    c,无序集合操作(set)

    #sadd 给集合添加元素
    
    r.sadd('set1',1)
    r.sadd('set1',2)
    
    #scard 输出集合中元素的个数
    print(r.scard('set1'))
    
    #smembers 获取字典中所有的元素
    
    print(r.smembers('set1'))
    
    #spop 删除集合中的最后一个元素并将其返回
    
    print(r.spop('set1'))
    print(r.smembers('set1'))
    
    #srem 删除集合中的元素
    
    r.sadd('set1',4)
    
    r.srem('set1','4')
    
    print(r.smembers('set1'))
    

      

    d,有序集合(sorted set),对于有序集合,每一个元素有两个值

    #zadd 创建添加有序集合,默人是以升序的方式显示
    
    # r.delete('set2')
    r.zadd('set2','apple',13,'banana',12)
    print(r.zrange('set2',0,-1))
    
    #反序的形式输出
    print(r.zrevrange('set2',0,-1))
    
    #返回有序集合元素的个数
    
    print(r.zcard('set2'))
    
    #删除有序集合的元素
    
    print(r.zrem('set2','apple'))
    
    print(r.zrange('set2',0,-1))
    

      

    e,hash操作

    #hset 创建hash添加元素
    
    r.hset('h1','name','dasini')
    
    print(r.hget('h1','name'))
    
    #hmset 创建多个元素
    
    
    r.hmset('h2',{'name':'tom','sex':'male'})
    print(r.hmget('h2','name','sex'))
    
    #hlen 判断hash的个数
    
    print(r.hlen('h2'))
    
    
    #hkeys 获取set对应的hash中所有的key的值
    
    print(r.hkeys('h2'))
    
    #hvals获取set对应的hash中所有的value的值
    
    print(r.hvals('h2'))
    
    
    #hdel将set对应的hash中指定key的键值对删除
    
    print(r.hdel('h2','name'))
    
    print(r.hgetall('h2'))
    

      

  • 相关阅读:
    软件质量的“奥秘”(一)——虚伪的质量
    IT项目管理中的假设约束依赖和承诺
    [转载]IT知识体系结构图
    如何看待项目开发过程中基于度量结果的绩效考评
    我常用的一些ASP自定义函数
    女生永远也不知道男生为什么***
    系统分析员、系统架构师、项目经理的区别
    软件工程知识体系全景图
    my music / NightWish / Groove Coverage / DJ
    qiushibaike.com
  • 原文地址:https://www.cnblogs.com/lin1/p/9055545.html
Copyright © 2020-2023  润新知