zoukankan      html  css  js  c++  java
  • python学习笔记6--操作redis

    一、redis操作

    import redis
    
    r=redis.Redis(host='211.149.218.16',port=6379,password='123456',db=2)
    r.set('suki','suki123')#插入 string类型的值
    print(r.get('suki').decode())#redis读取出来的值都是Byte类型,用decode转为字符串
    r.delete('suki')
    r.setex('suki','hahahaha',10)#指定key的失效时间 r.setex(key,value,时间)
    
    
    #hash类型
    r.hset('sessions','suki','123456') #rediskey:sessions rowkey:suki
    print(r.hget('sessions','suki'))#获取数据
    print(r.hgetall('sessions'))#获取所有数据
    
    
    redis_data=r.hgetall('sessions')
    all_data={}
    for k,v in redis_data.items():
        k=k.decode()
        v=v.decode()
        all_data[k]=v
    print(redis_data)
    print(all_data)
    
    
    #下面这种是有层级的 有文件夹的那种
    r.set('txz:suki','没交')
    r.set('txz:ski:ski2','交了')
    print(r.keys())
    print(r.keys('txz*'))#模糊匹配,获取txz开头的key
    print(r.type('txz'))#获取key的类型
    

      

      

    二、redis封装

    def op_redis(host,password,k,v=None,port=6379,db=0):
        r=redis.Redis(host=host,password=password,port=port,db=db)
        if v:#传入value的话说明是写操作
            r.set(k,v)
            res='ok'
        else:
            res=r.get(k)
            if res: #有值的话返回值
                res=res.decode()
            else:
                res=None
        return res  
  • 相关阅读:
    视图的作用,视图可以更改么?
    数据库事务的四个特性及含义
    mysql 设置隔离级别
    如何避免事务的并发问题?
    事务控制语言(TCL)
    事务的并发问题有哪些?
    事务的隔离级别: 事务并发问题如何发生?
    DDL 语言
    DML 语言
    TRUNCATE、Drop、Delete 的用法
  • 原文地址:https://www.cnblogs.com/SuKiWX/p/8952391.html
Copyright © 2011-2022 走看看