基于python+mysql+redis缓存设计与数据库关联数据处理
发表于:2025-02-12 作者:千家信息网编辑
千家信息网最后更新 2025年02月12日,1、添加表CREATE TABLE tb_signin(id INT,user_name VARCHAR(10),signin_num INT ,signin_time DATETIME ,gold_
千家信息网最后更新 2025年02月12日基于python+mysql+redis缓存设计与数据库关联数据处理
1、添加表
CREATE TABLE tb_signin(
id INT,
user_name VARCHAR(10),
signin_num INT ,
signin_time DATETIME ,
gold_coin INT
);
INSERT INTO tb_signin
VALUES(1, 'ma', 0, NULL, 0),
(2, 'he', 0, NULL, 0),
(3, 'yu', 0, NULL, 0),
(4, 'hai', 0, NULL, 0),
(5, 'fang', 0, NULL, 0);
2、redis缓存键值设计
key value
表名:主键值:列名 列值
或者:
表名:主键值:列值1:列名1
示例:把id为1的人的签到次数(假设为5)存储到redis中则可如下操作:
set('tb_signin_rank:1:signin_num', 5)
类似数据库一样,通过主键便可获取其它值
3、redis关联数据库的数据处理模式:
如图,先判断是否存在缓存(通常是根据key),如果存在则从缓存读取,否则从数据库读取并更新缓存
适用场景:对数据实时性要求不高,更新比较不频繁
如下图,先写入redis然后,利用守护进程等方式,定时写入到数据库
如下图,先写入数据库,然后再更新到缓存
####
import ConfigParserimport sysimport redisimport MySQLdb__name__ ==: pool=redis.ConnectionPool(=,=,=) r=redis.Redis(=pool) config=ConfigParser.ConfigParser() : dbcon=MySQLdb.connect(=,=,=,=,=,=) MySQLdb.Error,e: ,e sys.exit() : db_cursor=dbcon.cursor() id (,): db_cursor.execute(,id) db_cursor.execute() r.zincrby(, id, ) e: (% e) db_cursor.execute() db_cursor.close() () id (,): result=r.zscore(,id) result: : db_cursor=dbcon.cursor() db_cursor.execute(,id) result=db_cursor.fetchone()[] r.zadd(,id,result) e: % e db_cursor.close() : () result = (result) (% (id, result))
###
zadd:命令用于将一个或多个成员元素及其分数值加入到有序集当中
zscore:命令返回成员的有序集合在键比分。如果成员没有在排序集合存在,或键不存在,则返回nil。
数据
数据库
缓存
成员
更新
有序
命令
数据处理
关联
处理
设计
频繁
元素
场景
多个
实时
实时性
数值
方式
模式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库创建已存在的表
惠州软件开发技校
北斗服务器硬盘序列号怎么查
下载网络服务器
网络安全经济繁荣
魔天记传奇服务器
分布式实时数据库厂家
鲤城区网络安全会议
衡阳提供软件开发服务
企业科技管理诊断服务器
软件开发有什么好的项目
网络安全周活动总结 小学
通信网络安全防护工作原则
大学招聘软件开发
线上教学 网络安全
同步服务器尺寸长宽
台州甬先网络技术有限公司
世界互联网科技奖
南天信息软件开发
网盘服务器源码
学校的数据库中
江阴常见软件开发价格比较
pubg服务器维护中登录不了
北斗服务器硬盘序列号怎么查
北京抖音云控软件开发商
数据库中的二维表会考什么
软件开发公司的成本构成
中企通信网络技术销售待遇
医学数据库应用基础考试的绩点
数据库系统有哪三类人员