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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【转载】ssdb安装部署

發布時間:2024/8/23 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转载】ssdb安装部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載地址:https://www.cnblogs.com/dyfblog/p/5894518.html

ssdb是一款類似于redis的nosql數據庫,不過redis是基于內存的,服務器比較昂貴,ssdb則是基于硬盤存儲的,很容易擴展,對于一些對速度要求不是太高的應用,還是不錯的選擇。

先記錄一個比較坑的東西,具體的用法以后補充。

ssdb刪除數據的時候有很多中方法:

flushdb 刪除整個數據庫中的所有數據

qclear 刪除列表類型的數據

hclear 刪除hash類型的數據

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

del 刪除字符串類型的數據

不過,ssdb在刪除數據的時候并不會立刻釋放磁盤的空間,用作者的話說就是ssdb會在合適的時候去釋放,這就會造成不知不覺中ssdb占用的磁盤空間越來越大,還不知道什么時候才會被釋放,如果不及時處理的話,服務器卡死是很正常的事情,經過不斷的尋找,終于被我發現了一個命令 compact , 這個命令會自動去釋放應該被釋放的磁盤空間,不過在使用的時候會造成ssdb卡慢,并且 compact 命令的執行速度也不快,但總算是可以立刻釋放了,不用再擔心服務器被撐爆。

需要注意的是如果服務器已經快被撐爆了,那么你在執行 compact 的時候ssdb是有可能崩潰的,而且執行一次 compact 并不會釋放所有應該釋放的空間,可能需要多次執行才行。

還有一個比較坑的東西就是在刪除數據的時候,會造成服務阻塞,其他任何寫命令都執行不了,可讀不可寫。。。而且刪除的超級慢。。。

下面簡單介紹一下ssdb的用法。

一、服務器搭建

環境為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的時候報了個錯:ERROR! autoconf required! install autoconf first

于是安裝 autoconf

1
brew install autoconf
    安裝完成后繼續編譯

1
make && make install
    沒有報錯,繼續,下面啟動ssdb服務,加-d參數為deamon模式 服務后臺運行 推薦使用

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

1
./ssdb-server ./ssdb.conf
    然后可以使用下面的命令連接到ssdb數據庫,進行操作

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

關閉數據庫

1
./ssdb-server ./ssdb.conf -s stop
    PS: ssdb服務在啟動的時候會在 var 目錄下生成一個ssdb.pid文件,當ssdb由于意外關閉的時候這個文件不會被刪除,因此當重新啟動ssdb服務的時候,會報下面的錯誤:

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.

此時你可以手動刪除var/ssdb.pid文件,然后啟動ssdb服務,或者在啟動ssdb服務的時候使用如下命令

1
./ssdb-server -d ./ssdb.conf -s restart
    -s 參數支持三個選項 stop, start , restart, 默認情況下可不加 -s 參數,此時默認為start選項

!!! PS 當ssdb由于某個特別耗時操作卡死的時候,如果想停止命令的執行,目前我只知道重啟這個辦法。但是ssdb重啟使用 restart 特別慢,所以可以使用kill -9 殺掉進程,然后再啟動。。 不知道會有啥不良影響,我試了一次,還沒發現問題。

二、數據庫操作

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

這四種數據類型的操作命令一般都以固定的字母開頭:

s  字符串類型

q  列表類型

h  哈希類型

z  有序集合類型

(1)首先,我們最關心的一般是數據庫中存在著哪些鍵,在redis中,使用keys命令可以查看當前數據庫中的所有鍵,但ssdb中卻沒有這樣功能的命令,這可能會讓讓用慣了redis的同學感覺有點別扭。

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

keys  字符串類型

qlist   列表類型

hlist   哈希類型

zlist   有序集合類型

這四個命令的參數和用法都一樣,例如

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。