基于python+mysql+redis缓存设计与数据库关联数据处理
发表于:2024-11-15 作者:千家信息网编辑
千家信息网最后更新 2024年11月15日,1、添加表CREATE TABLE tb_signin(id INT,user_name VARCHAR(10),signin_num INT ,signin_time DATETIME ,gold_
千家信息网最后更新 2024年11月15日基于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安全错误
数据库的锁怎样保障安全
农业农村局网络安全自查报告
数据库管理系统安全技术要求
阿里云数据库会议
用友怎么直接进数据库修改的
软件开发类优秀ppt模板
公司数据库安全管理制度
2019数博会网络安全
湖南小红袄网络技术
庐阳区软件开发培训
家庭无线网络安全配置是什么
云南服务器机柜定制价格
流媒体管理服务器4.3
材料自然环境腐蚀数据库
许昌市中心医院网络安全中标
万方数据库的学术圈
数据库原理性质
双机热备的服务器中吗
数据库中的表和表怎么连接
孝感好的软件开发电话
现代信号处理技术网络安全
餐饮软件开发价格合理
软件开发是知识产权吗
软件开发副经理
宁波城市职业技术学院网络技术
迅雷图片数据库6
丰台区网络营销软件开发反馈
杭州软件开发系统
双机热备的服务器中吗
美国服务器dmca
数据库审计入围