Redis總結資料

2021-10-08 13:56:25 字數 1351 閱讀 9704

redis 是什麼?

redis是乙個使用c語言寫成的,開源的基於記憶體的高效能key-value資料庫。

redis支援哪些資料型別?

string(字串)

格式:set key value

string型別是二進位制安全的。

string型別是redis最基本的資料型別,乙個鍵最多能儲存512mb

hash(雜湊)

格式:hmset name key1 value1 key2 value2

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

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

list(列表)

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

格式:lpush name value 在key對應list的頭部新增字串元素

格式:rpush name value 在key對應list的尾部新增字串元素

set(無序集合)

格式:sadd name value

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

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

zset(sorted set 有序集合)

格式:zadd name score value

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

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

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

使用場景redis特性是什麼?

速度快資料存在記憶體中,類似於hashmap,hashmap的優勢就是查詢和操作的時間複雜度是o(1),每秒可以處理超過10w次讀寫操作,是已知性最快的key-value db

支援豐富的資料型別

支援以上8種資料型別

支援事務

操作不是原子性的,即使某些操作失敗,也不會影響別的操作的執行

豐富的特性

可用於快取,按key設定過期時間,過期後將會自動刪除

每個value的最大限制是1gb,不像memcached只能儲存1mb的資料

redis持久化是什麼?redis是多執行緒還是單執行緒?

單執行緒,為什麼單執行緒還是那麼的快?

1.純記憶體操作

2.核心基於非阻塞io多路復用機制

3.避免了多執行緒的頻繁上下文切換問題

redis資料轉存mysql總結

redis的最佳使用場景是快取,用來持久化資料儲存也是可以的,但既然有更適合於用作持久化資料儲存的資料庫,我們為什麼不用呢,做到物盡其用,發揮其最大優勢,所以redis中有的資料,也有必要在mysql中進行儲存。思路 我們可以使用python語言來編寫乙個程式,連線redis資料庫,連線mysql資...

Redis資料結構總結

set runoobkey redisget runoobkeyredis hash 是乙個string型別的field和value的對映表,hash特別適合用於儲存物件。hmset runoobkey name redis tutorial description redis basic comm...

redis常用資料型別總結

redis常用資料型別總結 redis是以鍵值對key value的形式來儲存資料,而儲存的資料型別有5種string,list,set,map,以及有序集合 這五種資料型別操作的命令多有相似,經常混淆,閒暇之餘,總結一番。型別一 string 如果key存在,則把value追加到原來的value後...