1、添加表
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站建設(shè)、做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出郁南免費(fèi)做網(wǎng)站回饋大家。
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緩存鍵值設(shè)計(jì)
key value
表名:主鍵值:列名 列值
或者:
表名:主鍵值:列值1:列名1
示例:把id為1的人的簽到次數(shù)(假設(shè)為5)存儲(chǔ)到redis中則可如下操作:
set('tb_signin_rank:1:signin_num', 5)
類似數(shù)據(jù)庫(kù)一樣,通過(guò)主鍵便可獲取其它值
3、redis關(guān)聯(lián)數(shù)據(jù)庫(kù)的數(shù)據(jù)處理模式:
如圖,先判斷是否存在緩存(通常是根據(jù)key),如果存在則從緩存讀取,否則從數(shù)據(jù)庫(kù)讀取并更新緩存
適用場(chǎng)景:對(duì)數(shù)據(jù)實(shí)時(shí)性要求不高,更新比較不頻繁
如下圖,先寫入redis然后,利用守護(hù)進(jìn)程等方式,定時(shí)寫入到數(shù)據(jù)庫(kù)
如下圖,先寫入數(shù)據(jù)庫(kù),然后再更新到緩存
####
import ConfigParser import sys import redis import 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:命令用于將一個(gè)或多個(gè)成員元素及其分?jǐn)?shù)值加入到有序集當(dāng)中
zscore:命令返回成員的有序集合在鍵比分。如果成員沒(méi)有在排序集合存在,或鍵不存在,則返回nil。