《Redis實戰》筆記 第五章

2021-09-26 15:19:47 字數 1333 閱讀 1945

本章主要講述了redis的幾個應用場景。

使用redis記錄日誌

在linux中有兩種記錄日誌的方式,一種是將其記錄到檔案中,乙個又乙個的新增日誌行以及檔案,包括redis在內的軟體都使用這種方式。另一種是使用syslog服務,除了儲存日誌,syslog還負責日誌的輪換和刪除,syslog的**功能可以將不同日誌存到多個檔案中。

使用redis的lpush命令將日誌推入列表,使用lrange獲取。

severity = #設定日誌等級      

def log_recent(conn, name, message, severity=logging.info, pipe=none):

severity = str(severity.get(severity, severity)).lower()    

destination = 'recent:%s:%s'%(name, severity)               

message = time.asctime() + ' ' + message                    

pipe = pipe or conn.pipeline()               

#使用事務的方式,將通訊往返次數降低為一次           

pipe.lpush(destination, message)     

#修剪日誌,保留100條

pipe.execute()    

#執行             

檢視常見日誌,使用有序集合zset,對於出現的日誌行進行zincrby自增操作。

計數器和統計資料

使用乙個雜湊來儲存每隔5秒的訪問量hset count:5hit 2018/01/01/15/16/15 5

使用redis還可以統計頁面的訪問時間,統計其最小值,最大值,樣本數量,總和,平均值等資訊。

當採取對每隔小時資料進行歸檔時,可以使用zunionstore進行min,max等資訊的聚合。

查詢ip所屬城市和國家

匯入ip位址段對應城市資料,以及城市和國家名等資料。

ip轉數字:

def ip_to_score(ip_address):

score = 0

for v in ip_address.split('.'):

score = score * 256 + int(v, 10)

return score

轉為整數之後即可建立ip和位址之間映**

服務的發現與配置

SQL筆記 第五章

第五章 pl sql游標 1.游標 cursor 游標是從資料表中提取出來的資料,以臨時表的形式存放在記憶體中,在游標中有乙個數 據指標,在初始狀態下指向的是首記錄,利用 fetch 語句可以移動該指標,從而對游標中的數 據進行各種操作,然後將操作結果寫回資料表中。1 分類 a 顯式游標 程式設計師...

c primer 筆記,第五章

case標籤必須是整型常量表示式 在case語句中,不允許跨過變數的初始化語句直接跳轉到該變數作用域內的另乙個位置 在範圍for語句中,預存了end 的值,一旦在序列中新增 刪除 元素,end函式的值就可能變得無效了 尋找處理 的過程域函式呼叫鏈剛好相反,是沿著程式的執行路徑逐層回退,直到找到適當型...

C primer plus 第五章筆記

因為迴圈體必須是一條語句,但是使用過程中,多條語句也是不可避免的。因此就可以將多條語句,利用一對花括號來構造一條復合語句 也稱為 塊,block 從而只被視為一條語句。但是復合語句還有一種有趣的特性。如果在復合語句中定義乙個新的變數,則僅當程式執行該復合語句中的語句時,該變數才存在,但復合語句執行完...