答: 我推薦所有人通過學(xué)習(xí)文檔和使用自己大腦思考來回答自己的問題.
如果你經(jīng)過學(xué)習(xí)文檔, 并且進(jìn)行充分思考后, 仍然無法得到答案, 你可以到 Github 上提 issue.
注意, 作為一個(gè)技術(shù)產(chǎn)品的用戶, 一個(gè)互聯(lián)網(wǎng)工作者, 甚至是一個(gè)程序員, 你應(yīng)該學(xué)會(huì)基本的提問技能. 如果你的提問沒有得到回答, 那么責(zé)任不在被問者, 而在于你自己, 你自己沒有像個(gè)正常的技術(shù)人那樣正確地提問.
答: 默認(rèn)的配置文件基于安全考慮, 只開放給本機(jī)訪問. 如果你想開放給網(wǎng)絡(luò)上的其它 IP 訪問, 請按文檔修改配置.
答: 請參考文檔 進(jìn)行配置.
答: SSDB 有自己策略來決定何時(shí)釋放或者是否釋放內(nèi)存和硬盤占用, 你不能要求 SSDB 立即或者在未來某個(gè)時(shí)間, 或者基于某個(gè)條件 釋放這些空間. 而且, 即使數(shù)據(jù)庫清空了, SSDB 仍然會(huì)保留一些信息, 因此仍然占用部分硬盤空間. 你不應(yīng)該關(guān)心這個(gè)問題.
答: SSDB 偶爾使用 100% CPU 是完全正常的, 請不要大驚小怪. 這是因?yàn)?SSDB/LevelDB 在進(jìn)行數(shù)據(jù)庫整理(Compaction)操作, 持續(xù)的時(shí)間一般隨著數(shù)據(jù)變大而變長, 一般只持續(xù)數(shù)秒.
答: SSDB 偶爾使用較多磁盤 IO 是完全正常的, 請不要大驚小怪. 這是因?yàn)?SSDB/LevelDB 在進(jìn)行數(shù)據(jù)庫整理(Compaction)操作, 持續(xù)的時(shí)間一般隨著數(shù)據(jù)變大而變長, 一般只持續(xù)數(shù)秒.
答: SSDB 使用的內(nèi)存空間是變動(dòng)的, 可能忽高忽低. 使用的內(nèi)存空間的上限在文檔 中有描述.
答: 很遺憾, 你不能設(shè)定 Compaction 在何時(shí)執(zhí)行, SSDB/LevelDB 有自己策略和機(jī)制, 決定何時(shí)應(yīng)該進(jìn)行 Compaction. 根據(jù)大多數(shù)用戶的使用反饋, Compaction 對服務(wù)沒有任何影響.
答: 是的, 你可以在任何時(shí)候修改 compression 選項(xiàng), 只要你重啟 ssdb-server, 新的修改就能生效. 更改后, 原來的數(shù)據(jù)依然兼容, 不會(huì)有任何問題.
答: 無論你開啟或者關(guān)閉壓縮選項(xiàng), 只要重啟后, 新的選項(xiàng)就已經(jīng)生效了. 但是, 新的選項(xiàng)不一定立即影響原來的舊數(shù)據(jù), SSDB 會(huì)在合適的時(shí)候?qū)⑿逻x項(xiàng)應(yīng)用于舊數(shù)據(jù), 你無法控制這一點(diǎn).
答: 如果你想統(tǒng)計(jì)的是 KV 的數(shù)量, 那么, 在一開始時(shí), 你就要把所有 KV 都放在同一個(gè) HASH 中, 然后通過 hsize 命令就可以得到 key 的數(shù)量了. 如果一開始你沒有這么做, 或者你想統(tǒng)計(jì) KV 以外的數(shù)量, 那么答案很簡單 - 沒有這樣的單個(gè)命令(除非你自己寫腳本遍歷統(tǒng)計(jì)).
答: SSDB 支持, 且僅支持前綴查找, 也就是類似
a
這樣的查找, 而不支持a
,a
或者其它的模糊查找. 具體用法請參見命令:scan, hlist, keys, hkeys, hscan, zlist, zkeys, zscan, qlist 的文檔.注意, 這些命令都要求你省略
號!
答: SSDB 不支持 sets, 以后也不太可能支持, 因?yàn)橛刑娲桨? 你可以用 hash 來替代 sets, 因?yàn)橐粋€(gè) hash 的 key 是唯一的, 可以實(shí)現(xiàn)集合的特性. 至于交集, 并集等操作, 你只能自己實(shí)現(xiàn). 例如, 求交集, 你可以遍歷第一個(gè) hash 的 key, 然后和第二個(gè) hash 對比, 把結(jié)果存入第三個(gè) hash.
答: 因?yàn)?Twemproxy 不支持 SSDB 網(wǎng)絡(luò)協(xié)議, 所以, 你只能使用 redis-cli 連接 Twemproxy. 注意, 你可以用 ssdb-cli 或者 redis-cli 連接 SSDB, 那是因?yàn)?SSDB 支持兩種協(xié)議, 而 Twemproxy 只支持一種.
答: 每一個(gè)實(shí)例使用不同的配置文件進(jìn)行啟動(dòng), 而且, 配置文件里的
work_dir
server.port
不能相同, 也就是每個(gè)實(shí)例的數(shù)據(jù)庫存儲路徑, 以及監(jiān)聽端口. 如果pidfile
logger.output
使用的是絕對路徑, 也要保證不能相同, 如果是相對路徑, 由不需要, 因?yàn)槟J(rèn)跟隨work_dir
而不同了.
更多建議: