一.使用redis有哪些好處?
1.速度快,因為數據是存在內存中的。
2.支持豐富的數據類型,string,list,set,sorted set,hash
3.支持事務,操作都有原子性,也就是對數組的更改要么不執行,要么全部執行。
4.豐富的特性:可用於緩存,消息,按key設置過期時間,過期后自動刪除。
二.redis相比memcached有哪些優勢
1.memcached所有的值均是簡單的字符串,redis作為代替者支持更加豐富的特性
2.redis的速度比memcached的快得多
3.redis可以持久化數據
三.mysql里面有2000萬條數據,redis中只存20w數據,如何保證redis中的數據都是熱點數據。
redis內存數據集大小上升到了一定大小的時候,就會實行數據淘汰策略。
redis有六種數據淘汰策略:
1.volatile-lru:從已設置過期時間的數據集(sever.db[i].expires)中挑選最近最少使用的數據進行淘汰。
2.volatile-ttl:從已設置過期時間的數據集(sever.db[i].expires)中挑選將要過期的數據進行淘汰掉。
四.memcache和redis的區別?
1.存儲方式,
memcache把數據全部存儲在內存之中,斷電后會掛掉,數據不能超過內存的大小
redis有部分存儲在硬盤中,這樣能保證數據的持久性。
2.數據的支持類型
memcache對數據類型的支持非常簡單,只是string
redis支持的數據類型非常豐富,string,list,set,sorted set,hash.
3.使用底層模式不一樣
使用到通信模式不一樣,redis直接構建了vm機制,因為一般的系統調用系統函數的話,會浪費一定的時間去移動和請求。
4.value的大小不一樣
redis最大可以達到1G,而memcache只有1M