算法的測試

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查詢出的數據相對應

相關文章
相關標籤/搜索