key-value鍵值型數據庫:Redis
redis
Redis是in-memory型(內存型)的鍵值數據庫,數據在磁盤上是持久的,鍵類型是字符串,值類型是字符串、字符串集合(Set)、sorted set、字符串列表(List)、哈希(Hash)等。 其中,Hash類型是一種字符串為鍵、字符串為值的鍵值對集合,類似鍵值類型都為字符串的Map。
使用場景:
- 數據可全部放入內存
- 頻繁訪問數據
redis-server使用snapshot(快照)機制進行數據持久化,這種機制是不時地遍歷in-memory數據庫,把鍵值寫入文件系統,redis-server默認寫入當前目錄下的dump.rdb文件。除了snapshot,redis-server還支持AOF持久化機制,AOF(append only file),采用記錄對數據庫操作的記錄來實現持久化,只要重新執行記錄的命令,就可以還原出整個數據庫。
安裝
到Redis下載頁面,選擇對應操作系統的版本,這里選擇3.2.8穩定版,下載到本地的文件名是redis-3.2.8.tar.gz,解壓文件,生成目錄redis-3.2.8,進入目錄編譯安裝:
tar -xzvf redis-3.2.8.tar.gz #解壓
cd redis-3.2.8
make #編譯
sudo make install #安裝
redis-server #啟動redis服務
操作
提供命令行操作,$ redis-cli
打開redis客戶端命令行,redis中文網有對支持命令的描述文檔。java api中的方法名稱和意義大同redis客戶端shell中的命令。
Java api簡單訪問過程示例:
val jedis = new redis.clients.jedis.Jedis("localhost")
jedis.set("key","value"); jedis.get("key");
jedis.lpush("key","value1","more..."); //列表左邊(頭部)插入
jedis.rpush("key","value1","more..."); // 列表右邊插入
jedis.lrange("key",startIndex,endIndex); //從列表取出一定范圍的元素,支持負數索引