使用者可以自己你新增單詞和翻譯,前提是這些單詞沒有被新增過,而且在redis裡面不存在,也就是不允許有重複的單詞存在,新增完之後,可以再前段通過查詢,得到新增的對應的翻譯。。。。
有乙個功能是: 使用者提交的詞條會生成對應的索引,索引的形式是:該單詞的字首,單詞本身,單詞在資料庫中的唯一id,這些單詞在資料庫中也是分類儲存的。。
(單詞字首,單詞本身,唯一資料庫id )這個hash項是新增到redis中的,當存在巨大的使用者新增詞條時,仍然可以做到微妙的查詢速度
一次性發完:
<?php
class addredis
//把新增的單詞作為鍵,last_insert_id作為值,插入到redis
public function setindex($wordzone, $word,$num_index)
//從redis中獲取last_insert_id,然後去資料庫查詢使用者新增的單詞
public function getindex($word)
else
}public function gettrans($word)
where id = ";
$res = $this->conn->query($sql);
if($this->conn->affected_rows)
else
}else
}}/* $word = new addredis();
var_dump($word->gettrans("makebbb")); */
?>
<?php
require_once "addredis.class.php";
class addword
public function setword($word, $trans)
}else
} else
} /*
*插入單詞時可以返回wordzone( word(key) last_insert_id(value)),並插入redis快取,用以索引
* redis->setindex($wordzone, $word, $last_id);
*/if($last_id)
}/* public function getword($word)
else
} else
}*/}/*
$word = new addword(); */
?>
///下面這段程式是控制器
會檢查單詞是否為英文,如果翻譯比較長,會無損截斷,再就是判斷單詞是否存在原始單詞庫中,判斷該單詞是否被其他使用者新增過,並在使用者新增完之後,返回乙個成功或者失敗的提示,當然是無重新整理的
<?php
require_once "addword.class.php";
require_once "../processcheck.class.php";
require_once "../storeword.class.php";
header("content-type: text/html");
if( !empty($_get['word']) && !empty($_get['trans']))
else
}$trans = $string;
} if(strlen($word)>32) $word=substr($word, 0,32);
$words = new addword();
$words->setword($word, $trans);
$red = dechex(mt_rand(0,255));
$green = dechex(mt_rand(0,255));
$blue = dechex(mt_rand(0,255));
$color="#".$red.$green.$blue;
echo "新增詞條成功";
}else
?>
//這個事介面,可以新增詞條和翻譯,還有乙個隱藏區域,在使用者新增詞條之後,用於無重新整理顯示,新增成功或者失敗的原因,比如單詞背新增過,或者存在原始的詞庫里,經過反覆測試,可以做到不重複
新增翻譯
//最重要的一點是:允許使用者新增詞條當然是對詞庫的補充和完善,當然新增後的詞條,在前段是可以查詢的到的。。。。。 es ik 詞庫新增詞語 ES 倒排索引與分詞
索引 文件id到文件內容 單詞的關聯關係 單詞到文件id的關聯關係 主要包含兩部分 單詞詞典 term dictionary 由b tree實現 記錄所有文件的單詞,一般比較大 記錄單詞到倒排列表的關聯關係 倒排列表 posting list 分詞 指將文字轉換成一系列單詞 term or toke...
筆記本附加功能詳解
筆記本附加功能詳解 bluetooth,這個現在聽的越來越多的名詞,是由愛立信 諾基亞 intel ibm和東芝5家公司於1998年5月共同提出開發的短距無線通訊技術,支援藍芽技術的電子產品理論上能夠在10公尺的距離內彼此相通,傳輸速度可以達到1mb s,在實際應用中,傳輸的速度和距離由於環境的差異...
Redis附加功能之Redis事務
一 事務 redis 的事務功能允許使用者將多個命令包裹起來,然後一次性地 按順序地執行被包裹的所有命令。在事務執行的過程中,伺服器不會中斷事務而改去執行其他命令請求,只有在事務包裹的所有命令都 被執行完畢之後,伺服器才會去處理其他命令請求。事務示例 現在,讓我們假設 setex 命令並不存在於 r...