• Python学习笔记(22)redis模块


    一、redis模块

      使用redis模块连接redis数据库,redis数据是一种Nosql型数据库,即非关系型数据库,不适用sql来执行数据操作,存入数据库通过键值对来存储数据

    #存储类型:
    #字符串类型:key-value
    #哈希类型
    #list(不常用)
    #集合(不常用)
    import redis
    #默认db为0,可自己选的,一般一共16个db,decode_responses=True将字节型数据自动转换为字符串
    r = redis.Redis(host="118.*.*.*",port=6379,password="*****",db=5,decode_responses=True)
    #字符串类型(key-value)
    # print(r.set("tyl_seesion1","wsssss",120))#设置120s的失效时间,默认为永远,TLL=-1,TTL倒数到0时即失效
    # seesion = r.get("tyl_seesion1")
    # print(seesion.decode())#seesion为bytes字节类型,使用decode()方法转换为字符串
    # print(r.get("tyl_seesion1"))
    # print(r.set("tyl_seesion1","111111"))
    # print(r.get("tyl_seesion1"))
    # r.delete("tyl_seesion1")删除tyl_seesion1字符串
    
    #哈希类型
    #相当于一个大key,里面包含一个key和value
    # r.hset("ssy_student1","name","tangyuliang")#设置ssy_student1里有一对key-value
    # r.hset("ssy_student1","age",18)
    # print(r.hget("ssy_student1","name"))#获取ssy_student1里有key为name的值
    # r.hdel("ssy_student1","age")  #删除ssy_student1里有key为name的数据
    # print(r.hgetall("ssy_student1"))#获取大key为ssy_student1的所有键值对,返回的是字节型的字典类型
    
    print(r.keys())#所有key
    print(r.keys('*stu'))#模糊匹配尾为stu的key
    print(r.keys('stu*'))#模糊匹配头为stu的key
    print(r.keys('*stu*'))#模糊匹配中间为stu的key
    print(r.exists("ssy_student1"))#key是否存在 
    print(r.type("tyl_seesion1"))#查看类型 
    r.flushall()#清空所有数据库里的key 
    r.flushdb()#清空当前的db数据库中的key,目前指定是db 5 
    #哈希类型不能单独对某个小key指定过期时间 
    r.expire("ssy_student1",50)#指定某个key的指定时间,50s过期
    
    #将一个字典传个一个key ,使用hmset创建
    # d ={"a":1,"b":2,"c":3}
    # r.hmset("ssy_student2",d)
    

      

      哈希类型如图:

    实例:迁移redis数据,将db0的数据全部迁移到db6中

    import redis
    r1 = redis.Redis(host="118.*.*.*",port=6379,password="*****",decode_responses=True)
    r2 = redis.Redis(host="118.*.8.*",port=6379,password="****",decode_responses=True,db=6)
    
    
    for k in r1.keys():
        key_type = r1.type(k)#获得数据类型
        if key_type == 'string':
            value = r1.get(k)
            r2.set(k,value)
        elif key_type == 'hash':
            value = r1.hgetall(k) #获取到一个字典类型{}
            r2.hmset(k,value)#使用hmset将一个字典传入给key
        else:
            pass
    

      

  • 相关阅读:
    callAfter 例子2
    wxpython
    python 处理excel 进程无法退出的问题
    常用电子技术网
    Emeditor 与正则表达式
    Windows程序中的字符编码
    Delphi7 无法启动 问题搞定
    2007中国发烧盘点之作《天路》发烧女声版
    一台电脑安装多个(虚拟)网卡问题
    无法删除xxx文档/文件夹:找不到指定的路径。请确定指定的路径是否正确
  • 原文地址:https://www.cnblogs.com/bugoobird/p/12968979.html
Copyright © 2020-2023  润新知