zoukankan      html  css  js  c++  java
  • python习题:redis做数据迁移,把db2的数据迁移到db14里

    #redis
    # 把db2 的数据迁移到 db14 里
    # 需求分析:
    '''1、建立两个redis连接
    2、获取所有的keys()
    3、获取keys的类型:string hash'''

    import redis
    src_redis = redis.Redis(host='211.149.218.16',
    password='123456',
    port=6379,
    db=2)
    target_redis = redis.Redis(host='211.149.218.16',
    password='123456',
    port=6379,
    db=14)
    for key in src_redis.keys(): # redis获取的数据都是bytes类型的,所以key的类型是 bytes 类型
    if src_redis.type(key) == b'string':# 也可以用decode() 把key转换成string,这样等号右边就不需要加b
    v = src_redis.get(key) #先获取原来的数据
    target_redis.set(key,v) #set到新的数据库里
    else:
    all_hash_data = src_redis.hgetall(key) # 获取hash类型里面所有的数据,获取出来的数据是字典格式的 但是有b,需要转换
    for k,v in all_hash_data.items():# 因为获取到字典格式的hash类型的原数据有b,所以需要用for循环来进行转换后重新赋值给新的数据库
    target_redis.hset(key,k,v) # key是外面的,k是里面的key,v是k对应的value
  • 相关阅读:
    Vue实例
    Vue介绍
    Vue相关知识点记录
    JS面向对象设计-创建对象
    JS面向对象设计-理解对象
    软件工程基础 完结撒花
    深度学习 基于CNN的纹理合成实践【附python实现】
    图像处理 傅里叶正逆变换与余弦正逆变换 【附C++实现】
    Webviz
    Webviz
  • 原文地址:https://www.cnblogs.com/blackbird0423/p/8324586.html
Copyright © 2011-2022 走看看