redis mysql hash組合使用

2022-07-17 20:18:10 字數 1950 閱讀 3972

'''

使用者想要查詢個人資訊

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)

ifresult:

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()

ifnot

res:

print('

mysql中無此使用者')

else

:

print('

mysql中查詢到的結果:

',res)

r.hmset(username,)

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)

2018 07 08 2018提高組 模擬C組

fj準備教他的奶牛彈奏一首歌曲,歌曲由n 1 n 50,000 種音節組成,編號為1到n,而且一定按照從1到n的順序進行彈奏,第i種音節持續b i 1 b i 10,000 個節拍,節拍從0開始計數,因此從節拍0到節拍b 1 1彈奏的是第1種音節,從b 1到b 1 b 2 1彈奏的是第2種音節,依此...

Socket怎麼加入組播組

byte b new byte 10240 trycatch exception ex console.writeline receive multicast exception ex.tostring 這是我上國外 找的例子!是 用udpclient.joinmulticastgroup,但是ud...

Game組首次超過Hack組

game組成員超過hack組,不過game的大部分人都不認識,有的甚至沒有聯絡過。我的好友中還有部分hack沒有聯絡上,至少應該還有20名左右吧,實際上加起來應該還比game組的多。我的好友中大部分應該是搞過c 或winsdk程式設計的,至少是學過程式設計。懷念從2000年至今的程式設計學習生涯,這...