日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【转载】ssdb安装部署

發(fā)布時(shí)間:2024/8/23 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转载】ssdb安装部署 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載地址:https://www.cnblogs.com/dyfblog/p/5894518.html

ssdb是一款類似于redis的nosql數(shù)據(jù)庫(kù),不過(guò)redis是基于內(nèi)存的,服務(wù)器比較昂貴,ssdb則是基于硬盤(pán)存儲(chǔ)的,很容易擴(kuò)展,對(duì)于一些對(duì)速度要求不是太高的應(yīng)用,還是不錯(cuò)的選擇。

先記錄一個(gè)比較坑的東西,具體的用法以后補(bǔ)充。

ssdb刪除數(shù)據(jù)的時(shí)候有很多中方法:

flushdb 刪除整個(gè)數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)

qclear 刪除列表類型的數(shù)據(jù)

hclear 刪除hash類型的數(shù)據(jù)

zclear 刪除有序集合類型的梳理

del 刪除字符串類型的數(shù)據(jù)

不過(guò),ssdb在刪除數(shù)據(jù)的時(shí)候并不會(huì)立刻釋放磁盤(pán)的空間,用作者的話說(shuō)就是ssdb會(huì)在合適的時(shí)候去釋放,這就會(huì)造成不知不覺(jué)中ssdb占用的磁盤(pán)空間越來(lái)越大,還不知道什么時(shí)候才會(huì)被釋放,如果不及時(shí)處理的話,服務(wù)器卡死是很正常的事情,經(jīng)過(guò)不斷的尋找,終于被我發(fā)現(xiàn)了一個(gè)命令 compact , 這個(gè)命令會(huì)自動(dòng)去釋放應(yīng)該被釋放的磁盤(pán)空間,不過(guò)在使用的時(shí)候會(huì)造成ssdb卡慢,并且 compact 命令的執(zhí)行速度也不快,但總算是可以立刻釋放了,不用再擔(dān)心服務(wù)器被撐爆。

需要注意的是如果服務(wù)器已經(jīng)快被撐爆了,那么你在執(zhí)行 compact 的時(shí)候ssdb是有可能崩潰的,而且執(zhí)行一次 compact 并不會(huì)釋放所有應(yīng)該釋放的空間,可能需要多次執(zhí)行才行。

還有一個(gè)比較坑的東西就是在刪除數(shù)據(jù)的時(shí)候,會(huì)造成服務(wù)阻塞,其他任何寫(xiě)命令都執(zhí)行不了,可讀不可寫(xiě)。。。而且刪除的超級(jí)慢。。。

下面簡(jiǎn)單介紹一下ssdb的用法。

一、服務(wù)器搭建

環(huán)境為Mac

首先到 https://github.com/ideawu/ssdb 查看官方文檔,下載安裝包

1
2
3
4
wget https://github.com/ideawu/ssdb/archive/master.zip
unzip master.zip
cd ssdb-master
make
    make的時(shí)候報(bào)了個(gè)錯(cuò):ERROR! autoconf required! install autoconf first

于是安裝 autoconf

1
brew install autoconf
    安裝完成后繼續(xù)編譯

1
make && make install
    沒(méi)有報(bào)錯(cuò),繼續(xù),下面啟動(dòng)ssdb服務(wù),加-d參數(shù)為deamon模式 服務(wù)后臺(tái)運(yùn)行 推薦使用

1
./ssdb-server -d ./ssdb.conf
    或者

1
./ssdb-server ./ssdb.conf
    然后可以使用下面的命令連接到ssdb數(shù)據(jù)庫(kù),進(jìn)行操作

1
./tools/ssdb-cli -h localhost -p 8888
    使用在命令行客戶端中執(zhí)行info命令結(jié)果如下:

關(guān)閉數(shù)據(jù)庫(kù)

1
./ssdb-server ./ssdb.conf -s stop
    PS: ssdb服務(wù)在啟動(dòng)的時(shí)候會(huì)在 var 目錄下生成一個(gè)ssdb.pid文件,當(dāng)ssdb由于意外關(guān)閉的時(shí)候這個(gè)文件不會(huì)被刪除,因此當(dāng)重新啟動(dòng)ssdb服務(wù)的時(shí)候,會(huì)報(bào)下面的錯(cuò)誤:

Fatal error!
    Pidfile ./var/ssdb.pid already exists!
    Kill the running process before you run this command,
    or use ‘-s restart’ option to restart the server.

此時(shí)你可以手動(dòng)刪除var/ssdb.pid文件,然后啟動(dòng)ssdb服務(wù),或者在啟動(dòng)ssdb服務(wù)的時(shí)候使用如下命令

1
./ssdb-server -d ./ssdb.conf -s restart
    -s 參數(shù)支持三個(gè)選項(xiàng) stop, start , restart, 默認(rèn)情況下可不加 -s 參數(shù),此時(shí)默認(rèn)為start選項(xiàng)

!!! PS 當(dāng)ssdb由于某個(gè)特別耗時(shí)操作卡死的時(shí)候,如果想停止命令的執(zhí)行,目前我只知道重啟這個(gè)辦法。但是ssdb重啟使用 restart 特別慢,所以可以使用kill -9 殺掉進(jìn)程,然后再啟動(dòng)。。 不知道會(huì)有啥不良影響,我試了一次,還沒(méi)發(fā)現(xiàn)問(wèn)題。

二、數(shù)據(jù)庫(kù)操作

ssdb中的數(shù)據(jù)類型分為4中,字符串類型、列表類型、哈希類型、有序集合類型。

這四種數(shù)據(jù)類型的操作命令一般都以固定的字母開(kāi)頭:

s  字符串類型

q  列表類型

h  哈希類型

z  有序集合類型

(1)首先,我們最關(guān)心的一般是數(shù)據(jù)庫(kù)中存在著哪些鍵,在redis中,使用keys命令可以查看當(dāng)前數(shù)據(jù)庫(kù)中的所有鍵,但ssdb中卻沒(méi)有這樣功能的命令,這可能會(huì)讓讓用慣了redis的同學(xué)感覺(jué)有點(diǎn)別扭。

在ssdb中查看存在的鍵是分類型用不同的命令的:

keys  字符串類型

qlist   列表類型

hlist   哈希類型

zlist   有序集合類型

這四個(gè)命令的參數(shù)和用法都一樣,例如

前兩個(gè)參數(shù)用于確定鍵的范圍,a、z 即篩選鍵名首字母在a-z之間的鍵,若為’’、’’ 則不限制范圍,最后一個(gè)參數(shù)用來(lái)限制返回的鍵的最大個(gè)數(shù),為必需參數(shù)。

總結(jié)

以上是生活随笔為你收集整理的【转载】ssdb安装部署的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。