今天我們開始用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
import
redis
class
uniqueset(
object
):
"""使用集合鍵儲存使用者名稱和郵箱位址,檢查是否已經使用"""
def
__init__(
self
, key, client):
self
.key
=
key
self
.client
=
client
def
is_include(
self
, element):
"""檢查元素是否存在集合內"""
return
self
.client.sismember(
self
.key, element)
def
add(
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 ...