Nuair a roinneann roinnt oibrithe linn trí Redis, féadann tacar sórtáilte polasaí simplí a chur i bhfeidhm: an seachfhreastalaí incháilithe a bhfuil na leithdháiltí cláraithe is lú aige a roghnú. Stóráil aitheantóir seachfhreastalaí mar bhall agus a chomhaireamh leithdháiltí mar scór.

Le haghaidh linn a fhreastalaíonn ar iarratais phoiblí cheadaithe, féadann an liosta seachfhreastalaí saor in aisce iarrthóirí críochphointe a sholáthar le measúnú faoi rialacha incháilitheachta an linne sin. Tosaigh baill incháilithe le comhaireamh tosaigh comhaontaithe. Ansin déan an roghnú agus an méadú ina n-aon oibríocht ar thaobh an fhreastalaí:

local chosen = redis.call('ZRANGE', KEYS[1], 0, 0)[1]
if not chosen then
    return nil
end

redis.call('ZINCRBY', KEYS[1], 1, chosen)
return chosen

Cuir eochair an tacair shórtáilte ar aghaidh mar an t-aon argóint eochrach ag an script trí chomhéadan EVAL do chliaint Redis. Táirgeann linn fholamh toradh null a chaithfidh an feidhmchlár a láimhseáil gan iarraidh a dhéanamh.

Cén fáth an dá ordú a chur le chéile?

Ligeann léamh agus méaduithe ar leith do bheirt oibrithe an t-íosmhéid céanna a fheiceáil sula ndéanann ceachtar acu é a nuashonrú. Forghníomhaíonn Redis script Lua go hadamhach, mar sin ní féidir le hoibrí eile roghnú a chur isteach idir léamh agus méadú an script seo. Coinnigh an script gearr mar go gcuireann a fhorghníomhú bac ar obair eile Redis.

Filleann ZRANGE an scór is ísle ar dtús; réitítear scóir chomhionanna de réir ord na mball, ní go randamach. Ardaíonn ZINCRBY scór an bhaill roghnaithe faoi aon don chéad leithdháileadh eile.

Sainmhínigh cad a chiallaíonn an scór

Comhairtear leithdháiltí anseo, lena n-áirítear leithdháileadh a dteipeann ar a iarraidh líonra níos déanaí. Ní thomhaiseann sé moill, iarratais rathúla ná obair atá ar siúl faoi láthair. Tá sé fós indéanta an t-aon bhall incháilithe a roghnú arís agus arís eile; ní chuireann an script in áirithe go heisiatach é.

Coinnigh incháilitheacht le rialacha sláinte agus polasaí na linne. Má bhaineann tú ball agus má athchuireann tú ar ais níos déanaí é, socraigh ar cheart a chomhaireamh stairiúil a choinneáil. Féadann tosú ar sheachfhreastalaí athchóirithe ag nialas leithdháiltí a dhíriú air agus é ag teacht suas.

Teastaíonn timthriall saoil difriúil ó pholasaí an íos-chomhthráthúla, lena n-áirítear críochnú agus láimhseáil post a thréigfí. Ná léirigh an chomhaireamh carnach seo mar an timthriall saoil sin.

Ailt ghaolmhara