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)
  • 相关阅读:
    [C/C++ IDE] CLion 配置使用教程
    PyCharm安装使用教程
    SMALI语法大全
    SMALI语法入门教程
    Samba + DLAN 实现电视机播放电脑文件
    深入浅出讲解低功耗蓝牙(BLE)协议栈
    吐血推荐珍藏的Visual Studio Code插件
    为什么我推荐你用 Ubuntu 开发?
    WebBrowser响应页面中的blank开新窗口及window.close关闭本窗体
    C# Task的简单使用
  • 原文地址:https://www.cnblogs.com/yuxiangyang/p/11195190.html
Copyright © 2011-2022 走看看