第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

假如我有十臺緩存服務(wù)器 ,談?wù)刾hp的具體實現(xiàn)方法

假如我有十臺緩存服務(wù)器 ,談?wù)刾hp的具體實現(xiàn)方法

PHP
嗶嗶one 2023-04-16 12:08:02
1:怎樣的算法可以將 一個數(shù)據(jù)均勻的分配到緩存服務(wù)器上,避免某一臺服務(wù)器壓力過高,2:然后怎樣從十臺緩存服務(wù)器中的某一臺讀取緩存數(shù)據(jù);
查看完整描述

2 回答

?
森欄

TA貢獻1810條經(jīng)驗 獲得超5個贊

最簡單的就是拉一個哈希函數(shù)出來(比如jshash,sdbmhash,或者直接用stl里頭對string的hash都可以):hash(key) % 10 => 給出機器的ID。存取都用這樣的規(guī)則,就沒有問題了。

不過這種簡單方式存在的問題是,可用性和擴展性降低了。任意一臺機器掛掉,相應(yīng)的數(shù)據(jù)就沒地方存,不能自動保存到其他機器。新增機器的時候也很麻煩。

查看完整回答
反對 回復(fù) 2023-04-19
?
互換的青春

TA貢獻1797條經(jīng)驗 獲得超6個贊

使用哈希算法是必然的,就是要看對什么做哈希
如果你的存的時候是不帶Key的,也就是說,存入一個值,緩存服務(wù)器返回一個Key,下一次訪問使用這個返回的Key取值??梢杂胢icrotime對緩存機器數(shù)取模。

如果你存的時候是帶Key的,就比較麻煩了,因為要保證一致性,我用過一個辦法是對md5做折疊。
就是對你預(yù)設(shè)的Key做一次md5,得到一個32位的字符串,然后把字符串中間對折,做16進制加法,得到一個較小的數(shù)字(可以對折多次,得到足夠小的數(shù)字,如果不做對折,直接做截取也可以,目標就是把大數(shù)字變小),然后用得到的這個數(shù)字對機器數(shù)取模,這樣可以保證一致性。下一次用這個Key還可以用相同的算法定位到某臺機器


查看完整回答
反對 回復(fù) 2023-04-19
  • 2 回答
  • 0 關(guān)注
  • 128 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號