zoukankan      html  css  js  c++  java
  • redis+mysql+hash组合使用

    '''
        用户想要查询个人信息 
        1、到redis缓存中查询个人信息 
        2、redis中查询不到,到mysql查询,并缓存到redis 
        3、再次查询个人信息
    '''
    
    import redis
    import pymysql
    
    # 用户从终端输入要查询的用户:zhang
    username = input('请输入用户名:')
    
    # key       field       value
    # username  gender      M
    #           age         29
    
    r = redis.Redis(host='127.0.0.1', port=6379, db=0, password='123456')
    # 从redis查询(gender age)
    # 如果查到,则直接打印
    result = r.hgetall(username)
    print(result)
    if result:
        print('redis数据:', result)
    else:
        # 如果没有查到,则从mysql中查询,并将其加入redis缓存,同时设置过期时间5分钟
        db = pymysql.connect('localhost', 'root', '123456', 'userdb', charset='utf8')
        cursor = db.cursor()
        sel = 'select gender,age from user where username=%s'
        cursor.execute(sel,[username])
        res = cursor.fetchall()
        if not res:
            print('Mysql中无此用户')
        else:
            print('Mysql中查询到的结果:',res)
            r.hmset(username,{'gender':res[0][0],'age':res[0][1]})
            r.expire(username,60*5)
    '''
        mysql数据库中数据更新信息后同步到redis缓存
    '''
    
    import redis
    import pymysql
    
    # 用户从终端输入要查询的用户:yuxiangyang
    username = input('请输入用户名:')
    age = input('请输入新的年龄:')
    
    
    r = redis.Redis(host='127.0.0.1', port=6379, db=0)
    
    # 改mysql数据库
    db = pymysql.connect('localhost', 'root', '123456', 'userdb', charset='utf8')
    cursor = db.cursor()
    sel = 'update user set age=%s where username=%s'
    cursor.execute(sel,[age,username])
    db.commit()
    # 同步到redis缓存中
    r.hset(username,'age',age)
    r.expire(username,60*2)
  • 相关阅读:
    使用YApi搭建API接口管理工具(docker安装)
    Redis 的持久化
    Typora编写markdown插入本地图片时自动上传图片到博客园
    关于python docker镜像环境下无法apt安装wkhtml2pdf的解决方案
    10分钟搞定让你困惑的 Jenkins 环境变量
    基于docker 搭建Prometheus+Grafana的过程详解
    docker方式搭建ELK日志平台
    ingress-nginx跨域解决
    k8s中pod优雅关闭进程
    java反编译命令
  • 原文地址:https://www.cnblogs.com/yuxiangyang/p/11195190.html
Copyright © 2011-2022 走看看