• python基础----redis模块


    数据库  关系型数据    例如mysql,有表还有约束条件等
    非关系型 k-v形式 memcache 存在内存中 redis 存在内存 mongodb 数据存在磁盘

    import redis
    #string类型
    #1.连接redis
    r=redis.Redis(host='200.149.208.16',port=6379,password='123456',db=1)
    #set 写数据
    r.set('lsy_token','2018-hh')#set数据,写数据
    #get获取数据
    print(r.get('lsy_token').decode())#redis里取出的数据都是bytes类型,所以用decode转化成字符串
    #delete删除数据
    r.delete('lsy_token')#删除
    #setex设置失效时间
    r.setex('lsy_token','2018-hh',20)#指定key的失效时间,单位是秒
    #set get delete setex 都是针对string类型的 k-v
    
    #hash类型
    #hset新增数据
    r.hset('lsy_session','zhangsan','1223')
    r.hset('lsy_session','lisi','1223')
    r.hset('lsy_session','wangwu','1223')
    r.hset('lsy_session','liuli','1223')
    #hget获取数据
    print(r.hget('lsy_session','111').decode())#传两个值,获得数据
    redis_data=r.hgetall('lsy_session') #获取hash类型里的所有数据
    #字典没有decode类型,怎么办---迭代
    all_data={}
    for k,v in redis_data.items():#把hash类型所有的数据转化成正常的字典
        k=k.decode()
        v = v.decode()
        all_data[k]=v
    print(redis_data)
    print(all_data)
    #hash类型没有过期时间
    #设置文件分层
    r.set('szz:homeword:lsy','没交')#设置文件夹分类,层级,
    r.set('szz:homeword:张三','交了')
    r.set('李四','交了')
    
    print(r.keys())#打印所有的key
    print(r.keys('lsy*'))#获取以lsy开头的key
    print(r.type('lsy_session'))#获取key的类型

    封装redis函数

    import 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:
            r.set(k,v)#有传key就说明是set操作
            res='ok'
        else:
            res=r.get(k)
            if res:#判断有没有get到数据
                res=res.decode()#没有传key就说明是get操作,如果传的key不存在返回None,None没有decode
            else:
                res=None
        return res
  • 相关阅读:
    HTML4如何让一个DIV居中对齐?float输入日志标题
    HTML3层叠样式表
    面向对象 学生考试计分题目
    C#总复习
    HTML2列表表单框架
    HTML1网页三部份内容
    HTML 5 JavaScript初步 编译运行.doc
    初识MYSQL
    数据库设计
    序列化和反序列化
  • 原文地址:https://www.cnblogs.com/alasijia/p/8334557.html
Copyright © 2020-2023  润新知