• python 之Redis笔记


    redis的用法:

    import redis
    
    #下面都是操作string类型的
    r = redis.Redis(host='127.0.0.1', port=6379, db=1)#链接redis数据库
    r.set('fei','fei值')#set数据,增加key为:‘fei’对应的value值为:‘fei值’
    print(r.get('fei').decode())#获取到key为“fei”的value值,如果不加.decode,打印出来以后就显示是乱码,加上以后,正常显示中文
    >>> fei值
    print(r.keys())#获取所有的key
    >>>[b'fei', b'nhy', b'ID_card']
    #下面操作hash类型
    r.hset('fei1','name','haha')#对fei1进行操作,设置key值为“name”,对应的value值为“haha”
    print(r.hget('fei1','name'))#获取fei库里面key值为‘name’对应的value值

    >>>b'haha'

    print(r.hgetall('ID_card'))#
    获取hash类型这个ID_card里面所有的数据
    >>>{b'age2': b'18', b'name': b'haha', b'age1': b'18', b'age': b'18'}

    r.delete('nhy')#删除key

    #把哈希类型转换成字符串,如下方法:
    nhy = r.hgetall('fei1')#把fei1这个数据哈希类型的赋给nhy
    new_nhy = {}# 新创建一个字典
    print(nhy)
    for k in nhy:#循环这个字典里的key值
    new_k = k.decode()#把k值转换成字符串,赋值给新的key值
    v = nhy[k]#获取哈希类型的key对应的value值
    new_v = v.decode()#把value值转化成字符串,赋值给新值
    new_nhy[new_k] = new_v #新key值 = 对应的新value值
     
    #需求是把一个redis库里面所有的数据,导入到另一个redis里面
    #1、r1 和r2 连接上r1和r2两个数据库
    #2、 获取到r1上面所有的key keys
    #3、判断key的类型,r.type(k),get hgetall .hset() .set()
    r1 = redis.Redis(host='127.0.0.1', port=6378, db=0)#获取数据
    r2 = redis.Redis(host='127.0.0.1', port=6378, db=1)#写数据
    keys = r1.keys()#r1数据库上所有的key
    for k in keys:
    if r1.type(k) == b'hash':#判断是否为哈希类型,因为redis里面返回的数据都是bytes类型的,
    #所以在hash前面加上b
    hash_data = r1.hgetall(k)#获取哈希的类型的数据
    for k2, v in hash_data.items():#循环刚才获取到的字典
    r2.hset(k, k2, v)#set哈希类型的值
    else:
    v = r1.get(k)#从r1里面获取值,
    r2.set(k, v)#set进去
    
    
     
  • 相关阅读:
    WEB浏览器与服务器通讯过程
    lua及luci学习
    让apache2不开机启动,管理Ubuntu的开机启动项
    在linux中如何调试C语言程序
    如何去除configure的默认选择-g O2
    C语言使用SQLite3数据库
    Linux下的C程序如何调用系统命令,并获取系统的输出信息到C程序中
    Opencv step by step
    Opencv step by step
    Opencv step by step
  • 原文地址:https://www.cnblogs.com/wmm007/p/7809914.html
Copyright © 2020-2023  润新知