zoukankan      html  css  js  c++  java
  • redis相关

    1.数据库分为关系型数据库、非关系型数据库

    关系型数据库:mysql、oracle、sql server、sqlite
    非关系型数据库(Nosql),以键值对存储(key-value):mongdb、redis
    2.redis操作

    import redis
    
    r = redis.Redis(host="*.*.*.*",
                    password="**",
                    port=6379,
                    db=0,
                    decode_responses=True)# 解决获取的值类型是bytes字节问题,自动转换为字符串    
    
    #str
    r.expire("tqz_stu",100) #对key设置过期时间
    r.set("huahua_cookie","352v235235t",100) #新增和修改
    print(r.get("huahuat_cookie")) #获取数据
    r.delete("huahua_cookie") #删除数据
    
    #二进制,字节型
    result = r.get("huahua_cookie")
    result.decode()#若连接redis时已自动转换字符串则不需要执行.decode(),否则需要执行.decode() 转换为字符串
    r.exists("huahua_cookie") #它返回的是0和1,0代表不存在,1代表存在
    r.type("huahua_cookie") #查key的类型
    
    #hash 哈希类型 k - v
    
    r.hset("tqz_stu","wsc",'{"id":1,"username":"xxx"}') #新增和修改
    r.hset("tqz_stu","chj",'{"id":2,"username":"chj"}')#新增和修改
    r.hset("tqz_stu","yhl",'{"id":3,"username":"yhl"}')#新增和修改
    r.set("tqz:wsc","abc")
    r.set("tqz:chj","abc1")
    print(r.hget("tqz_stu","wsc"))
    d = {}
    for k,v in r.hgetall("tqz_stu").items():
        k = k.decode()
        v = v.decode()
        d[k] = v
    print(d)
    print(r.keys()) #获取当前数据库里面的所有key
    print(r.keys("*stu*"))
    r.hdel("tqz_stu","wsc")#删除一个或多个哈希表字段
    r.delete("tqz_stu")
    r.flushdb() #只清空当前数据库的数据
    r.flushall() #清空所有数据库里面的所有数据

     3.迁移redis

    import redis
    r = redis.Redis(host="*.*.*.*",
                    password="*",
                    port=6379,
                    db=0,
                    decode_responses=True)#0-15
    
    r2 = redis.Redis(host="*",
                    password="*",
                    port=6379,
                     db=2,
                    decode_responses=True)#0-15
    
    #1、获取所有的key
    #2、判断key的类型
    #3、根据key的类型来使用set或者hset
    
    for key in r.keys():
        if r.type(key) == "string":
            value = r.get(key)
            r2.set(key,value)
        elif r.type(key) == "hash":
            hash_all = r.hgetall(key)
            for k,v in hash_all.items(): #循环hash类型里面所有的k-v
                r2.hset(key,k,v)
    加油
  • 相关阅读:
    puppeteer自动化测试系列之三---端对端测试中常用的 Puppeteer 操作
    puppeteer自动化测试系列之二---puppeteer常用方法
    团队作业8—团队项目用户验收评审
    Beta冲刺--第四天
    Beta冲刺--第三天
    Beta冲刺--第二天
    Beta冲刺--第一天
    Spring_Four -- 团队项目设计完善&编码测试
    Alpha冲刺
    团队作业6—《Spring_Four》团队项目系统设计改进与详细设计
  • 原文地址:https://www.cnblogs.com/huahuacheng/p/14320904.html
Copyright © 2011-2022 走看看