1.乙個結構化的資料庫,建立在關係迷行基礎上2.一般面向於記錄
3.包括
oracle mysql sql server microsoft access db2等
1.除了主流的關係型資料庫外的資料庫都認為是非關係型2.包括
redis mongbd hbase couhdb
1.具有極高的資料讀寫速度2.支援豐富的資料型別
支援資料的持久化
原子性支援資料備份
string型別是二進位制安裝的,意思是redis的string可以包含任何資料。比如jpg或者序列化的物件
redis hash 是乙個string型別的field 和value 的對映表,hash 特別適合用於儲存物件
redis列表是簡單的字串列表,按照插入順序排序,你可以新增乙個元素到列表的頭部(左邊)或者尾部(右邊)。
redis zset 和set 一樣也是string型別元素的集合,且不允許重複的成員不同的是元素都會關聯乙個double型別的分數。redis正是通過的分數來為集合中的成員進行從小到大的排序型別
簡介特性
場景string(字串)
二進位制安全
可以包含任何資料,比如jpg或者序列化的物件,乙個鍵最大能儲存512m
—hash(字典)
鍵值對集合,及程式語言中的map型別
適合儲存物件,並且可以像資料庫中update乙個屬性一樣只修改某一項屬性值(memcached中需要取出整個字串反序列化物件修改完在序列化存回去)
儲存、讀取、修改使用者屬性
list(列表)
鍊錶(雙向鍊錶)
增刪塊,提供啊哦做某一段元素的api
罪行訊息排行等功能(比如朋友圈的時間線)訊息列隊
set(集合)
雜湊表實現,元素不重複
新增刪除,查詢的複雜度都是o(1)2 ,為集合提供了求交集,並集差集等操作
sorted
鍵set中的元素增加
資料插入集合時已經進行天然排序
排行榜、帶權重的訊息列表
[root@glt4 ~]# redis-cli -h 20.0.0.13 -p 6379
20.0.0.13:6379> set a 5
ok20.0.0.13:6379> get a
「5」20.0.0.13:6379> type a
string20.0.0.13:6379> incr a
(integer) 6
20.0.0.13:6379> decr a
(integer) 5
20.0.0.13:6379> incrby a 10
(integer) 15
20.0.0.13:6379> decrdy a 7
(error) err unknown commanddecrdy
, with args beginning with:a
,7
, 20.0.0.13:6379> decrby a 7
(integer) 8
20.0.0.13:6379> hset hash1 ggg1 a
(integer) 1
20.0.0.13:6379> hset hash1 ggg2 b
(integer) 1
20.0.0.13:6379> hset hash1 ggg3 c
(integer) 1
20.0.0.13:6379> hget hash ggg1
(nil)
20.0.0.13:6379> hget hash1 ggg1
「a」20.0.0.13:6379> hget hash1 ggg2
「b」20.0.0.13:6379> hget hash1 ggg3
「c」20.0.0.13:6379> hget hash1 ggg4
(nil)
20.0.0.13:6379> hset hash1 lll1 1 lll2 2
(integer) 2
20.0.0.13:6379> hset hash1 lll1 1 lll2 2
(integer) 0
20.0.0.13:6379> hmget hash1 ggg1 ggg2
「a」「b」
20.0.0.13:6379> hmget hash1 ggg1 ggg2 lll1 lll2
「a」「b」
「1」「2」
20.0.0.13:6379>
20.0.0.13:6379> rpush list1 20
(integer) 5
20.0.0.13:6379> lrange list1 0 10
「6」「7」
「8」「9」
「20」
20.0.0.13:6379>
20.0.0.13:6379> rpush list1 20
(integer) 5
20.0.0.13:6379> lrange list1 0 10
「6」「7」
「8」「9」
「20」
20.0.0.13:6379>
20.0.0.13:6379> sadd set1 13
(integer) 1
20.0.0.13:6379> sadd set1 23
(integer) 1
20.0.0.13:6379> sadd set1 33
(integer) 1
20.0.0.13:6379> sadd set1 43
(integer) 1
20.0.0.13:6379> sadd set1 53
(integer) 1
20.0.0.13:6379> scard set1
(integer) 5
20.0.0.13:6379> sismember set1 13
(integer) 1
20.0.0.13:6379> sismember set1 10
(integer) 0
20.0.0.13:6379> srem set1 13
(integer) 1
20.0.0.13:6379> smembers set1
「23」
「33」
「43」
「53」
20.0.0.13:6379>
20.0.0.13:6379> zadd zset1 5.5 ttt1
(integer) 1
20.0.0.13:6379> zadd zset1 6.6 ttt2
(integer) 1
20.0.0.13:6379> zadd zset1 7.7 ttt3
(integer) 1
20.0.0.13:6379> zcard zset1
(integer) 3
20.0.0.13:6379> zrangebyscore zset 0 8
(empty list or set)
20.0.0.13:6379> zrangebyscore zset1 0 8
「ttt1」
「ttt2」
「ttt3」
20.0.0.13:6379> zrangebyscore zset1 0 8 withscores
「ttt1」
「5.5」
「ttt2」
"6.5999999999999996"5) 「ttt3」
「7.7000000000000002」
20.0.0.13:6379>
Redis安裝與配置
一 windows下安裝redis 由上圖可見redis服務的預設埠為6379 3 保持開啟redis服務剛剛開啟的視窗請不要關閉 另起乙個cmd視窗執行客戶端進驗證是否正常執行,使用cd命令切換到redis目錄執行redis cli.exe h 127.0.0.1 p 6379命令。設定鍵值對 s...
Redis安裝與配置
1.1 編譯 redis 資料庫 1 將 redis 源 檔案上傳到 linux 系統之中,隨後將其解壓縮到 usr local src 目錄之中 tar xzvf srv ftp redis 3.2.5.tar.gz c usr local src 2 為了進行 redis 資料庫的編譯,那麼需要...
Redis安裝與配置
wget tar xf usr local redis 2.8.12.tar.gz cd redis 2.8.12 make 如果出現一下報錯 zmalloc.h 50 31 fatal error jemalloc jemalloc.h no such file or directory 解決辦法...