1. 程式人生 > >redis在專案中是如何應用的?

redis在專案中是如何應用的?

redis是單程序單執行緒的模式,序列執行命令,但是因為其在記憶體中執行的,所以序列和並行的速度差不多。

在專案中可以用做什麼?

1.快取

2.nosql資料庫

3.使用者登入session

4.日誌系統

5.訊息佇列

redis的特點:

支援事務,操作都是原子性的,單個value最大為1G。

Master-slave下,Master不要持久化,將持久化的工作交給slave,因為持久化(AOF)的時候,服務會有短暫的暫停。

問:如果持久化的時候,突然宕機,部分資料會丟失,怎麼辦?

答:這是後會有一個redis-check-aof的工具,它可以定位資料不一致的錯誤,並將寫入的資料回滾。

問:如果資料庫有2000萬資料,redis只能儲存20萬,如何保證這20萬資料都是熱點資料?

答:因為當資料超過一定限制,redis自己有六種資料淘汰策略。

注:

redis的資料回收策略規則(根據訪問頻率)

1.如果資料的分佈是冪率分佈,用lru策略

2.如果資料的分佈是平等分佈,用random策略

為保證每個客戶端都能夠有序的訪問redis,伺服器角度可以用分散式鎖,如果是單機的話,也可以直接用sychonized。