記錄使用者訪問數,當使用者第一次訪問時,訪問次數加1(判斷如果從redis庫沒有獲取到客戶端ip,將使用者的訪問數加1,將客戶端ip位址存入redis庫並設定過期時間,否則不加)
# 導包
from django.db.models import q,f
# 建立redis連線
import redis
r = redis.redis(
'localhost'
)# 個人主頁介面
class
getuser
(apiview)
:def
get(self,request)
:# 獲取客戶端ip
)# 獲取使用者id
uid = request.get.get(
'uid',''
)# 設定防刷邏輯
if r.get(ip)
==none
:# 將使用者訪問數累加
user.objects.
filter
(q(id
=int
(uid)))
.update(num=f(
'num')+
1)# 將使用者ip存入到redis
r.set(ip, ip)
# 設定過期時間, 單位是秒
r.expire(ip,60)
else
:pass
# 查詢使用者
user = user.objects.
filter
(q(id
=int
(uid)))
.first(
)# 序列化操作
user_ser = userser(user)
return response(user_ser.data)
牛客 出題的訣竅(統計次數)
出題的訣竅 思路 這道題目如果不考慮重複就很簡單了,就是先求出總和sum,ans sum m n 1 這裡我n表示行數,m表示列數,與題中給出的n,m表示的意義不同 考慮重複的就是對每一行進行考慮,對每一行的每乙個元素x進行計算,用序列a1,a2,a3 ai an表示元素x在前i行 1 i行 出現的...
mysql實現連續 累計次數的邏輯
最近碰到這樣乙個需求,測算連續逾期3期或者累計逾期6期的件,並找到觸發這個條件是在哪一期。實現的關鍵是group contact函式。首先給每期還款狀態打標flag,1逾期,0不逾期。select group contact flag order by 期數 asc separator as fla...
搜尋出字串中出現次數最多的字元,並統計次數
今天看到一道題,搜尋出字串中出現次數最多的字元,並統計其次數,就自己動手寫一下,是用遞迴來實現的,原理是這樣的 每一次都取出字串str的第乙個字元fs,統計出其在字串str中出現的次數n,然後把字串str中的fs刪除,一直到字串str的長度小於n。1 varstr aaaa13123aass1231...