zoukankan      html  css  js  c++  java
  • 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进去
    
    
     
  • 相关阅读:
    SQL Server 连接字符串和身份验证 学习
    何時需要重启 OFBiz
    开源软件文档网址
    OFBIZ 10.04 开发环境搭建(ofbiz+mysql+eclipse)
    ofbiz 之minilang解析
    ofbiz之entity实体写法
    ofbiz多表外键关联查询
    ofbiz学习地址
    配置文件中的mime-mapping元素(ofbiz/framework/catalina/config/mime-type)(
    SQL连接 自我学习,跑完秒懂
  • 原文地址:https://www.cnblogs.com/wmm007/p/7809914.html
Copyright © 2011-2022 走看看