資料結構的伺服器,
引用官方的一段話。
remote dictionary server(redis) 是乙個由salvatore sanfilippo寫的key-value儲存系統。redis 是完全開源的,遵守 bsd 協議,是乙個高效能的 key-value 資料庫。redis是乙個開源的使用ansi c語言編寫、遵守bsd協議、支援網路、可基於記憶體亦可持久化的日誌型、key-value資料庫,並提供多種語言的api。
它通常被稱為資料結構伺服器,因為值(value)可以是 字串(string), 雜湊(hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等型別。
redis 與其他 key - value 快取產品有以下三個特點:
優勢和之前的mongodb類似,就是快,還支援多種資料型別,已經原子操作屬性。
macos 直接用 brew 安裝即可。
windows 的可以用 github提供編譯好的檔案
其他可以用原始碼直接編譯後新增到環境變數裡面
然後輸入
redis-server
,輸出下面就是安裝成功。
再開乙個tab輸入redis-cli
可以通過config
來檢視或者修改配置。
可以輸入conf自動聯想自動補全
127.0.0.1:6379> config get loglevel
1) "loglevel"
2) "notice"
redis 127.0.0.1:6379> config get *
1) "dbfilename"
2) "dump.rdb"
3) "requirepass"
....
127.0.0.1:6379> config set loglevel warning
ok127.0.0.1:6379> config get loglevel
1) "loglevel"
2) "warning"
127.0.0.1:6379>
其他設定,常見的port, daemonize, bind, timeout, logfile, databases
。
redis支援五種資料型別:string(字串),hash(雜湊),list(列表),set(集合)及zset(sorted set:有序集合)。這個是最基礎的型別,也是二進位制的,因此只要可以轉化二進位制的都可以儲存。
set 和get。
127.0.0.1:6379> set chasays "學習redis"
ok127.0.0.1:6379> get chasays
"\xe5\xad\xa6\xe4\xb9\xa0redis"
127.0.0.1:6379>
上面這個用utf8解碼即可。啟動redis-cli --raw
hash 儲存(base) ➜ ~ redis-cli --raw
127.0.0.1:6379>
127.0.0.1:6379> get chasays
學習redis
127.0.0.1:6379>
redis hash 是乙個鍵值(key=>value)對集合。hmset, hmget
每個 hash 可以儲存 2^32 -1 鍵值對(40多億)。127.0.0.1:6379> hmset test field1 "hello" field2 "world"
ok127.0.0.1:6379> hmget test field1
hello
127.0.0.1:6379> hmget test field2
world
list 列表
redis 列表是簡單的字串列表,按照插入順序排序。你可以新增乙個元素到列表的頭部(左邊)或者尾部(右邊)。用到
lpush, lrange
set 集合127.0.0.1:6379> lpush test 1
1127.0.0.1:6379> lpush test 2
2127.0.0.1:6379> lrange test 0 4
21
redis 的 set 是 string 型別的無序集合。
集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度都是 o(1)。有2個函式要掌握sadd和smembers
。127.0.0.1:6379> sadd test 1
1127.0.0.1:6379> sadd test 2
1127.0.0.1:6379> smembers test
12
注意set裡面的值是唯一的, sadd同乙個value,是不會重複的。zset 有序集合redis zset 和 set 一樣也是string型別元素的集合,且不允許重複的成員。
不同的是每個元素都會關聯乙個double型別的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。zset的成員是唯一的,但分數(score)卻可以重複。後面接著學習redis的命令指令碼和高階技術。127.0.0.1:6379> zadd test 1 a
1127.0.0.1:6379> zadd test 2 b
1127.0.0.1:6379> zadd test 1 c
1127.0.0.1:6379> zrangebyscore test 0 4ac
b
github部落格Redis資料庫基操
nosql簡介 不支援sql語法 讀寫效能高 靈活的資料模型 redis簡介 redis特性 1 redis支援資料的持久化,可以將記憶體中的資料儲存在磁碟中,重啟的時候可以再次載入進行使用。2 redis不僅僅支援簡單的key value型別的資料,同時還把value分為list,set,zset...
資料庫 大資料
spark 百萬級的資料,無論側重oltp還是olap,當然就是mysql了。過億級的資料,側重oltp可以繼續mysql,側重olap,就要分場景考慮了。實時計算場景 強調實時性,常用於實時性要求較高的地方,可以選擇storm 批處理計算場景 強調批處理,常用於資料探勘 分析,可以選擇hadoop...
資料庫學習1
今天是學習資料庫的第一天,感覺和學c的這個時候的感覺一樣,還不是很了解這塊,太多的疑惑。我想這些後邊會慢慢的懂的。簡單的列下今天的知識。第一章 關係型資料庫管理系統 使用資料庫的優點 1 減低儲存資料的冗餘度 2 提供更高的資料一致性 3 資料共享 4,便於維護資料完整性 5,能夠實現資料的安全性。...