這兩天做東西,業務上有個特殊的需求,在使用者訪問頁面的時候,針對某一行**進行控制,按照概率來進行顯示,我做的是針對當前頁面的**進行處理,****是第三方的,頁面上只要有這段**就算是執行了這段****,所以才寫了這個輪詢的乙個方法,這個方法可以根據自己的需求修改,下面我把這個方法全部帖出來:
cacheslidingexpirationhour:時間,快取時間2小時
countdowncurrentindexcachename:快取名稱
log:日誌m_objcountdowncurrentindexlock::當前物件
m_snintervalsecond:定義乙個陣列,可以視為概率值
說明:0,1,1,1 資料中存了4個數,我們設為總的概率為100%,每個代表25%,所以現在我設定的是當前的概率為75%
存如快取的是資料的索引,取的時候也取的索引,方法返回索引,轉成int型別
1public
class
countdownhelper
2; //
1顯示 0不顯示910
public
countdownhelper()
1113
14public
intgetcountdownaddedsecond()
1530
else
3138
else
3942}43
44return
m_snintervalsecond[ncountdowncurrentindex];45}
46catch
(exception __error)
4754
return
m_snintervalsecond[ncountdowncurrentindex];55}
56}57}
5859 }
這個功能的需求是:業務部門需要監控當前頁面的**率,所以需要用概率去判斷當前的****如何在頁面上交替顯示,起初是**率為50%,所以陣列中直接就是new int ,後來改成75%,就是上面的**,所以這樣既可以監控**,有可以控制****。
前台呼叫是用ajax方式:
說明:等於1,將****新增到頁面,否則不加
1<
div
id="adver"
>
div>
12 $.post("/topic/getcountdownaddedsecond", function
(data) 8}
9 }, "json");
(未經允許嚴禁用於商業用途!)
輪詢排程演算法
以下是本人在學習過程中隨手收集的一些內容,可能並不完備。如有錯誤,歡迎指正!每一次把來自使用者的請求輪流分配給內部中的伺服器,從1開始,直到n 內部伺服器個數 然後重新開始迴圈。輪詢排程演算法假設所有伺服器的處理效能都相同,不關心每台伺服器的當前連線數和響應速度。當請求服務間隔時間變化比較大時,輪詢...
C 實現Nginx平滑加權輪詢演算法
很簡單,演算法很經典!1.定義實體類 public struct serverconfig 當前權重 public int current 服務名稱 public string name 2.演算法 public static int nextserverindex serverconfig ser...
輪詢排程演算法 Round Robin
最近重溫了下nginx,看到負載均衡排程演算法預設是round robin,也就是輪詢排程演算法。演算法本身很簡單,輪著乙個乙個來,非常簡單高效公平的排程演算法。簡單的演算法實現 int datas 1 2,3 4,5 int size 5 int getnextdata 突然發現了一直被忽視的問題...