002 redis 資料型別

2021-09-08 05:29:05 字數 3021 閱讀 4582

redis支援五種資料型別:string(字串),hash(雜湊),list(列表),set(集合)及zset(sorted set:有序集合)。

使用桌面工具檢視,預設有16個庫,redis支援多個資料庫,並且每個資料庫的資料是隔離的不能共享,並且基於單機才有,如果是集群就沒有資料庫的概念。

string 是 redis 最基本的型別,你可以理解成與 memcached 一模一樣的型別,乙個 key 對應乙個 value。

string 型別是二進位制安全的。意思是 redis 的 string 可以包含任何資料。比如jpg或者序列化的物件。

string 型別是 redis 最基本的資料型別,string 型別的值最大能儲存 512mb。

使用基本命令 即可

set keyname test

get keyname

桌面工具檢視結構

redis hash 是乙個鍵值(key=>value[k-v])對集合。

redis hash 是乙個 string 型別的 field 和 value 的對映表,hash 特別適合用於儲存物件。

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

hmset myhash field1 "hello" field2 "world"hget myhash field1

hget myhash field2

桌面工具檢視結構

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

列表最多可儲存 232 - 1 元素 (4294967295, 每個列表可儲存40多億)。

lpush mylist redis

lpush mylist rabbitmq

lpush mylist spring

lrange mylist 0 10

桌面工具檢視結構【鍊錶】

redis的set是string型別的無序集合。

集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度都是o(1)。

集合中最大的成員數為 232 - 1(4294967295, 每個集合可儲存40多億個成員)。

新增乙個 string 元素到 key 對應的 set 集合中,成功返回1,如果元素已經在集合中返回 0,如果 key 對應的 set 不存在則返回錯誤。

sadd key member

127.0.0.1:6379>sadd myset redis

(integer) 1

127.0.0.1:6379>sadd myset spring

(integer) 1

127.0.0.1:6379>sadd myset rabbitmq

(integer) 1

127.0.0.1:6379>sadd myset rabbitmq

(integer) 0

127.0.0.1:6379>smembers myset

1) "redis"

2) "rabbitmq"

3) "spring"

注意:以上例項中 rabitmq 新增了兩次,但根據集合內元素的唯一性,第二次插入的元素將被忽略。

桌面工具檢視結構【無序不重複集合】

redis zset 和 set 一樣也是string型別元素的集合,且不允許重複的成員。

不同的是每個元素都會關聯乙個double型別的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。

zset的成員是唯一的,但分數(score)卻可以重複。

新增元素到集合,元素在集合中存在則更新對應score

zadd key score member

127.0.0.1:6379> zadd myzset 0redis

(integer) 1

127.0.0.1:6379> zadd myzset 0mongodb

(integer) 1

127.0.0.1:6379> zadd myzset 0rabbitmq

(integer) 1

127.0.0.1:6379> zadd myzset 1basic

(integer) 1

127.0.0.1:6379> zadd myzset 0rabbitmq

(integer) 0

127.0.0.1:6379> zrangebyscore myzset 0 1000

1) "mongodb"

2) "rabbitmq"

3) "redis"

4) "basic"

桌面工具檢視結構【有序不重複集合】

002 redis安裝以及可執行檔案介紹

wget 到soft資料夾下 2.tar xzvf redis tar.gz解壓檔案 3.進入解壓檔案,進行編譯 編譯完成後src目錄下出現如上檔案 如果現在執行安裝,那麼會報錯,因為當前使用者沒有許可權 mkdir pv redis 然後將編譯生成的幾個重要檔案拷貝到此資料夾內 cp soft r...

002 判斷JS資料型別

typeof 返回乙個表示資料型別的字串,返回結果包括 number boolean string object undefined function symbol等7種資料型別。舉個栗子 typeof null object typeof undefined undefined typeof1 n...

002 Python資料型別

一 int型別 進製標誌 二進位制0b開頭 八進位制0o開頭 十六進製制 0x開頭 二 float型別 三 str型別 格式化字串 引入 字串之間相加,則會自動將兩個字串拼接為乙個字串。但是,字串不能和其他的型別的資料進行加法運算,所以 a 123 print a a 就會報錯。解決方式一 pyth...