1、算法規則mysql
2、測試方案redis
一、6小時更新一次:通常開發會間隔6小時更新數據一次,那麼更新的數據存儲在哪裏去了呢?通常會放在Redis緩存中。算法
二、示例:來源時間在近3天內,平臺C端用戶瀏覽最多前10條。想要獲得這個數據,得使用mysql數據庫的查詢語句結合對應的表搜索出數據sql
三、針對搜索出的數據與Redis緩存中的數據進行對比,便可獲得想要的值數據庫
注:緩存
(1)通常開發想Redis中存儲中,會使用到key,具體的key詢問開發向開發獲取;服務器
(2)Redis的相關配置詢問開發,由開發協助配置測試
(3)6個小時一更新對於測試來講,間隔時間過久不方便快速查看結果,所以,快速的處理方案:詢問開發更新腳本,須要查看數據時本身執行腳本。ui
3、測試實現步驟spa
(1)詢問開發獲取到的key值示例以下:
/** * redis集合key * 1.發布時間在近$1天內 * 2.平臺的C端用戶瀏覽最多前$1條 */ const SET_KEY_RANK_TYPE_ARTICLE_CVIEW = 'content_rank_type_article_cview_set';
(2)來源時間在近3天內,平臺C端用戶瀏覽最多前10條 的SQL查詢語句示例以下
select cal.action_souce_id,cal.create_at,a.uuid,al.title,a.published_at,count(al.title) from c_user_action_log cal
join article a on cal.source_uuid = a.uuid join article_lang al on a.uuid = al.article_uuid where cal.action_souce_id = "11"
and al.lang = "zh-cn" and DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL 4 DAY) <= date(published_at) and a.status=4 and a.deleted=0 group by al.title order by count(al.title) desc limit 10;
(3)將問開發獲取的 content_rank_type_article_cview_set 輸入到redis中進行搜索
(4)查看Redis查詢到的緩存值
(5)將獲取到的value值,與本身執行SQL的查詢結果進行對比,若值相等,則測試經過,若不相等,則測試失敗。
注:由於我沒有進行6小時規則的腳本更新,因此查詢的SQL數據值是最新的要多於Redis緩存中的數據
(6)鏈接測試環境服務器,進行更新腳本(6小時更新的規則,此處運行腳本進行更新)
一、進入服務器,詢問開發進入命令與密碼
二、詢問開發腳本對應的命令
具體的測試示例以下:
此時更新腳本已執行完,再次查看Redis緩存中的數據將會與SQL查詢出的數據相對應