Redis實現微博後台業務邏輯系列(一)

2021-09-20 21:00:23 字數 2346 閱讀 1280

今天我們開始用redis資料庫實現類似微博的後台業務邏輯,我會帶領大家一步步的實現類似微博的各種功能效果。這裡我所使用的環境是python3.5+redis3.2.1,python2和python3有很多命令不相同,請大家注意。

檢查使用者名稱和郵箱名的唯一性: 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

importredis

classuniqueset(object):

"""使用集合鍵儲存使用者名稱和郵箱位址,檢查是否已經使用"""

def__init__(self, key, client):

self.key=key

self.client=client

defis_include(self, element):

"""檢查元素是否存在集合內"""

returnself.client.sismember(self.key, element)

defadd(self, element):

"""新增元素到集合中"""

self.client.sadd(self.key, element)

if__name__=="__main__":

redis_client=redis.strictredis()

used_emails=uniqueset("weibo::used_emails", redis_client)

print(used_emails.is_include("[email protected]"))

used_emails.add("[email protected]")

在redis中我們使用"weibo::used_names"和"weibo::used_emails"兩個集合來儲存所有已經被使用的的名字和郵箱,我們登入微博時一般通過使用者名稱或者郵箱登入,所以這裡我們實現的效果就是:

1. 檢查使用者名稱或者郵箱名是否已經被使用;

2. 新使用者註冊成功後,將使用者名稱或者郵箱名新增到集合中去;

3. 這裡的集合使用的是無序集合,這個類我們將在後面新建使用者時使用到;

daibaiyang119

1 5 3 後台業務邏輯

後台操作的業務主要包括 對課程資訊的維護 增加 刪除 修改和查詢 對教師資訊的維護和對學生資訊的維護。由於上述操作大部分都是類似的,我們只介紹對課程資訊的維護,其餘的部分請讀者自行參考本節的源 這裡,為本節的業務先定義乙個類 backaction 這個類與上一節的業務邏輯處理類相似,也要繼承資料庫處...

redis之微博應用

1 統計微博活躍使用者 採用位圖法儲存,bitset每個熱氣採用乙個變數,最後用位位運算即可獲取最終結果,每個使用者只需要一位。2 微博最新登陸的n個使用者。採用redis的list結構和sort方法獲取,list儲存使用者的登陸先後順序,sort倒敘排列的同時根據id獲取使用者的其他資訊。3 粉絲...

金蝶EAS,後台業務邏輯,SQL查詢

金蝶eas bos框架,原則上只允許在後台使用sql語句進行操作,通常情況下,絕大多數的操作都可以通過entityviewinfo以及標準功能介面實現。以下 示例演示如何在後台使用sql進行查詢 獲取財務組織編碼 名稱快取 返回值鍵值對 鍵為組織編碼,值為組織名稱 suppresswarnings ...