redis是乙個基於記憶體的高效能key-value
1.redis五大基本資料型別:
字串(string) set get
雜湊(hash)hmset hmgetall
鍊錶(list)按照插入順序可以新增乙個元素列表的頭部(左邊)和尾部(右邊)lpush rpush lrange
集合(set)sadd smembers
有序集合(zset)zadd zrangebyscore
2.redis應用場景
①會話快取(session cache)。redis提供持久化,可以將記憶體中的資料儲存在磁碟中,
②全頁快取(fpc)即時重啟了redis例項,因為有磁碟持久化,使用者也不會看到頁面載入速度的下降
③佇列 redis在記憶體儲存引擎領域的最大優點是提供list和set操作,使得redis能作為乙個良好的訊息佇列平台來使用。
④排行榜/計數器 redis在記憶體中對數字進行遞增或者遞減的操作實現的非常好。集合(set)和有序集合(sorted set)也使得我們在執行這些操作的時候變的非常簡單,redis只是正好提供了這兩種資料結構。所以,我們要從排序集合中獲取到排名最靠前的10個使用者–我們稱之為「user_scores」,我們只需要像下面一樣執行即可:
當然,這是假定你是根據你使用者的分數做遞增的排序。如果你想返回使用者及使用者的分數,你需要這樣執行:
zrange user_scores 0 10 withscores
⑤發布/訂閱
3.mysql裡面有2000w資料,redis中只存20w的資料,如何保證redis中的資料都是熱點資料
①voltile-lru:從已設定過期時間的資料集中挑選最近最少使用的資料淘汰
②volatile-ttl:從已設定過期時間的資料集(server.db[i].expires)中挑選將要過期的資料淘汰
③volatile-random:從已設定過期時間的資料集(server.db[i].expires)中任意選擇資料淘汰
④allkeys-lru:從資料集(server.db[i].dict)中挑選最近最少使用的資料淘汰
⑤allkeys-random:從資料集(server.db[i].dict)中任意選擇資料淘汰
⑥no-enviction(驅逐):禁止驅逐資料
Redis基礎知識
1 redis是開源的高效能鍵值對 key value 資料庫 通過提供各種鍵值資料型別來適應不同場景下的儲存需求,並借助許多高層級的介面使其可以勝任如快取 佇列系統等不同的角色。2 remote dictionary server,以字典結構儲存資料,並允許其他應用通過tcp協議讀寫字典中的內容 ...
Redis基礎知識
樂觀鎖watch相當於mysql裡面的version jedis採用的是直連的方式,多個執行緒的操作不安全,避免的話採用的是池化技術 redis資料使用的是記憶體中,因此廣泛應用在快取裡面 使用當作快取的原因 模擬一下作業系統裡面的區域性性原理 使用redis不用本地的map的原理 map屬於本地快...
redis基礎知識
redis remote dictionary sever 遠端字典服務,是乙個開源的使用ansi c語言編寫,支援網路,可基於記憶體亦可持久化的日誌型,key value資料庫,並支援多種語言的api。免費和開源,也被稱之為結構化資料庫 redis預設有16個資料庫 檢視配置檔案,可以看到data...