新聞中心
Redis是常用的互動式數(shù)據(jù)庫,它有幾個定制支持功能,可以快速設置KEY/VALUE,但是用戶也需要注意幾個因素避免重復設置Key,以下我們將介紹幾個步驟:

創(chuàng)新互聯(lián)從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務公司,擁有項目成都網(wǎng)站建設、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元確山做網(wǎng)站,已為上家服務,為確山各地企業(yè)和個人服務,聯(lián)系電話:18980820575
首先是利用Redis的EXISTS命令來確認Key是否已存在,如果存在,則直接拒絕設置Key的操作,具體代碼如下:
“`
//這里假設$key為用戶設置Key的值
if (redis-exist($key)) {
//設置$key失敗
return false;
}
//設置$key成功
redis-set($key);
return true;
其次是采用Redis的SetNX命令可以避免重復設置Key,該命令是原子性操作,只有當Key不存在時,才會設置Key的值,否則事務將失敗。如下:
//這里假設$key為用戶設置Key的值
if (redis-setnx($key)) {
//設置$key失敗
return false;
}
//設置$key成功
redis-set($key);
return true;
利用Redis的MSETEX命令可以安全的設置Key的值,該命令類似于Redis的SETNX命令,也會校驗Key是否已存在,如果存在,則不會進行設置Key的操作,如下:
//這里假設$key為用戶設置Key的值
if (redis-setex($key)) {
//設置$key失敗
return false;
}
//設置$key成功
redis-set($key);
return true;
定義一個SetUnique函數(shù)以上文中提到的方法綜合模式,可以讓用戶安全的維護Key的唯一性,如下:
function SetUnique($key){
if (redis-exist($key)) {
return false;
}
if (redis-setnx($key)) {
return false;
}
if (redis-setex($key)) {
return false;
}
redis-set($key);
return true;
}
通過上面的步驟,可以安全的確保Redis中Key的唯一性,以免重復設置Key導致的異常。
四川成都云服務器租用托管【創(chuàng)新互聯(lián)】提供各地服務器租用,電信服務器托管、移動服務器托管、聯(lián)通服務器托管,云服務器虛擬主機租用。成都機房托管咨詢:13518219792
創(chuàng)新互聯(lián)(www.cdcxhl.com)擁有10多年的服務器租用、服務器托管、云服務器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗、開啟建站+互聯(lián)網(wǎng)銷售服務,與企業(yè)客戶共同成長,共創(chuàng)價值。
網(wǎng)頁題目:Redis異常避免重復設置Key(redis重復設置key)
轉(zhuǎn)載注明:http://m.fisionsoft.com.cn/article/djpdpij.html


咨詢
建站咨詢
