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後...