1. 程式人生 > >redis作為快取的簡單理解

redis作為快取的簡單理解

來源:http://doushini.iteye.com/blog/1879616?utm_source=tuicool&utm_medium=referral

Redis快取伺服器筆記
redis是一個高效能的key-value儲存系統,能夠作為快取框架和佇列
但是由於他是一個記憶體記憶體系統,這些資料還是要儲存到資料庫中的


作為快取框架:
create/updae/delete---同時存到redis和資料庫
query--先從redis查,沒有記錄才從資料庫查,並把從資料庫查的結果也放一份到redis

作為快取佇列:

2、把物件Object儲存到redis中,怎麼存?memcache存取物件是序列化和反序列化
使用通用的序列化、反序列化(頻繁的會很消耗cpu,使用Google Protocol Buffer,將物件打成二

進位制流)
或者使用json儲存(阿里巴巴的fast-json)

3、Java使用redis的客戶端一般是:jedis
jedis的原生介面只支援基本資料型別和String、byte[]

4、我對redis佇列的理解:
重要的資料:先存到資料庫,然後存到redis
要求響應速度很高的的資料:先寫快取,然後通過訊息佇列再寫入資料庫

 因為Redis的value支援String、list、set、zset
那麼就可以把redis的list當作佇列來用
入隊:lpush mylist 'hello1'
出隊:lpop mylist

5、其提供AOF(追加式操作記錄檔案)和DUMP(定期資料備份)兩種持久化方式

6、VM(虛擬記憶體機制):如果有1萬條資料儲存到記憶體中,那麼我就要配置能儲存這麼多資料的記憶體
然後這1萬條資料有9000條不是活躍資料,那就白白浪費了,可以這樣做,當資料容量超過記憶體時,

將部分value儲存到檔案中
memcached是把資料完全儲存到記憶體中,而redis是大部分的,因為他支援自定義的VM
同時Redis支援主從複製機制