大資料學習 1 資料庫Redis基礎命令

2021-10-25 15:26:40 字數 3715 閱讀 3066

資料結構的伺服器,

引用官方的一段話。

remote dictionary server(redis) 是乙個由salvatore sanfilippo寫的key-value儲存系統。

redis是乙個開源的使用ansi c語言編寫、遵守bsd協議、支援網路、可基於記憶體亦可持久化的日誌型、key-value資料庫,並提供多種語言的api。

它通常被稱為資料結構伺服器,因為值(value)可以是 字串(string), 雜湊(hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等型別。

redis 是完全開源的,遵守 bsd 協議,是乙個高效能的 key-value 資料庫。

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

(base) ➜  ~ redis-cli --raw

127.0.0.1:6379>

127.0.0.1:6379> get chasays

學習redis

127.0.0.1:6379>

hash 儲存

redis hash 是乙個鍵值(key=>value)對集合。hmset, hmget

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

每個 hash 可以儲存 2^32 -1 鍵值對(40多億)。

list 列表

redis 列表是簡單的字串列表,按照插入順序排序。你可以新增乙個元素到列表的頭部(左邊)或者尾部(右邊)。用到lpush, lrange

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

set 集合

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)卻可以重複。

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

後面接著學習redis的命令指令碼和高階技術。

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,能夠實現資料的安全性。...