Redis:Remote Dictionary Server(遠端字典伺服器),是一個高性能的(key/value)分布式記憶體資料庫,基于記憶體運作并支援持久化的NoSQL資料庫,也被稱為資料結構伺服器。
Redis有以下三個特點:
1.支援資料的持久化,可以将記憶體中的資料儲存在磁盤中,重新開機的時候可以再次加載使用。
2.不僅僅支援簡單的key/value類型的資料,同時還提供list,set,zset,hash等資料結構的存儲。
3.支援資料的備份,即master-slave模式的資料備份。
HelloWorld:
安裝好Redis後
1.
vim redis.conf
修改配置檔案中
demonize no
為
demonize yes
(啟用官方demo)
esc :wq
(儲存退出)
2.
cd /usr/local/bin
指定修改後的配置檔案以啟動redis服務
3.
redis-server /usr/redis/redis-3.0.1/redis.conf
4.
redis-cli -p 6379
(啟動用戶端,預設端口6379)
127.0.0.1:6379>
(輸入行發生變化)
5.
ping
(傳回PONG表示連接配接成功)
6.
set k1 hello
get k1
(傳回 “hello”)
shutdown
(關閉連接配接)
exit
(退出)
shutdown和quit指令:
1.如果持久化被打開的話, SHUTDOWN 指令會保證伺服器正常關閉而不丢失任何資料。
2.另一方面,假如隻是單純地執行 SAVE 指令,然後再執行 QUIT 指令,則沒有這一保證 —— 因為在執行 SAVE 之後、執行 QUIT 之前的這段時間中間,其他用戶端可能正在和伺服器進行通訊,這時如果執行 QUIT 就會造成資料丢失。
Tab可補全redis指令
redis啟動後雜項知識
1.redis是單程序
單程序模型來處理用戶端的請求,對讀寫等事件的響應是通過對epoll函數的包裝來做到的,redis實際處理速度完全依靠主程序的執行效率。
Epoll是Linux核心為處理大批量檔案描述符而做了改進的epoll,是linux下多路複用IO接口,它能顯著提高程式在大量并發連接配接中隻有少量活躍的情況下的系統CPU使用率
2.預設16個資料庫,預設零号庫
redis.conf檔案中可修改
databases 16
為其他的資料庫個數
redis中,
select 4
可切換目前資料庫為4号庫
3.dbsize
dbsize
檢視目前資料庫有多少key
4.keys
keys *
羅列所有的key
keys k?
可以使用占位符“?”精确羅列key
5.flushdb
flushdb
清空目前資料看看
flushall
清空所有資料庫
6.統一密碼管理
16個庫都是同樣的密碼,要麼都OK要麼一個也連接配接不上
redis預設關閉了密碼
7.redis索引都是從零開始
8.redis預設端口6379
redis的五大基本資料類型
1.String 字元串
a.string是redis最基本的類型,可以了解成與memcache一模一樣的模型,一個key對應一個value
b.string類型是二進制安全的,意思是redis的string可以包含任何資料,比如jpg圖檔或者序列化的對象
c.一個redis中字元串value最多可以有512M
2.List 清單
a.redis list是簡單的string清單,按照插入順序排序,可以添加一個元素到清單的頭部或尾部,它的底層實際是一個連結清單
3.Set 集合
a.redis set是string類型的無序集合,它是通過hashTable實作的,除去重複。
4.Zset 有序集合
a.zset和set一樣是string類型的集合,且不允許重複。
b.不同的是每個元素會關聯一個double類型的分數,redis通過分數來為集合中的成員從小到大的排序。
c.zset成員是唯一的,但是分數是可以重複的。
5.Hash 哈希 類似Map
a.redis hash是一個鍵值對集合,是一個string類型的fleld和value的映射表,hash特别适合用于存儲對象。
類似于java裡的
Map<String,Object>
redis常見指令操作手冊
http://redisdoc.com/