Data entiti seperti maklumat pengguna disimpan dalam memcached dengan pengekodan protobuf, dengan tarikh tamat tempoh seminggu, sebagai cache peringkat kedua MySQL
Data senarai, seperti senarai langganan pengguna, disimpan dalam redis, dan data yang sepadan juga disandarkan oleh MySQL Walau bagaimanapun, jika redis tidak dapat membacanya, ia tidak akan dibaca dalam MySQL lagi
Ringkasan:
Redis mempunyai struktur data yang kaya dan sesuai untuk menyimpan set, senarai atau jadual tersusun
Redis tidak mempunyai penyelesaian teragih yang agak lengkap pada masa itu, jadi kami cuba untuk tidak menyimpan data entiti yang besar (sudah tentu, memandangkan bilangan pengguna meningkat secara mendadak, kami kemudiannya melaksanakan pengedaran pseudo menggunakan kekunci cincang)
memcached agak mudah dan lebih cepat daripada redis, dan sesuai untuk menyimpan data entiti Namun, masalah yang dihadapi pada masa itu ialah pembungkusan dan penghuraian json akan menjadi halangan, jadi kami semua menggantikannya dengan. protobuf
Apabila anda perlu menyokong lebih banyak jenis data selain kunci/nilai atau apabila data yang disimpan tidak dapat dihapuskan, adalah lebih sesuai untuk menggunakan Redis. Dan jika anda hanya cache data, jelas lebih sesuai untuk menggunakan memcached. Dalam erti kata lain, sebagai perbandingan, redis lebih sesuai untuk penyimpanan, manakala memcache lebih sesuai untuk caching.
Seseorang di stackoverflow bertanya soalan ini "Adakah memcached dinosaur berbanding Redis?", dan pengarang redis memberikan jawapannya (http://stackoverflow.com/questions/2873249/is-memcached-a-dinosaur- dalam-perbandingan-ke-redis). Secara keseluruhan, prestasi kedua-duanya sangat baik, jadi tidak perlu risau tentang mana yang mempunyai prestasi lebih tinggi. Walau bagaimanapun, mekanisme kegigihan dan penyegerakan data yang disediakan oleh redis tidak tersedia dalam memcached, jadi jika anda mahukan kegigihan, anda hanya boleh menggunakan redis. Di samping itu, memcached mencukupi untuk storan nilai kunci mudah, tetapi jika anda ingin menggunakan struktur data yang lebih maju, seperti cincang, senarai, set, zset, dll., redis menyediakan jenis ini, yang lebih mudah digunakan.
Beginilah cara bekas kilang menggunakannya:
protobuf
, dengan tarikh tamat tempoh seminggu, sebagai cache peringkat kedua MySQLRingkasan:
json
akan menjadi halangan, jadi kami semua menggantikannya dengan.protobuf
Apabila anda perlu menyokong lebih banyak jenis data selain kunci/nilai atau apabila data yang disimpan tidak dapat dihapuskan, adalah lebih sesuai untuk menggunakan Redis. Dan jika anda hanya cache data, jelas lebih sesuai untuk menggunakan memcached. Dalam erti kata lain, sebagai perbandingan, redis lebih sesuai untuk penyimpanan, manakala memcache lebih sesuai untuk caching.
Semua yang memerlukan
频繁查询
dan变化频率不是太高
di mana kedua-duanya bergunaSeseorang di stackoverflow bertanya soalan ini "Adakah memcached dinosaur berbanding Redis?", dan pengarang redis memberikan jawapannya (http://stackoverflow.com/questions/2873249/is-memcached-a-dinosaur- dalam-perbandingan-ke-redis). Secara keseluruhan, prestasi kedua-duanya sangat baik, jadi tidak perlu risau tentang mana yang mempunyai prestasi lebih tinggi. Walau bagaimanapun, mekanisme kegigihan dan penyegerakan data yang disediakan oleh redis tidak tersedia dalam memcached, jadi jika anda mahukan kegigihan, anda hanya boleh menggunakan redis. Di samping itu, memcached mencukupi untuk storan nilai kunci mudah, tetapi jika anda ingin menggunakan struktur data yang lebih maju, seperti cincang, senarai, set, zset, dll., redis menyediakan jenis ini, yang lebih mudah digunakan.