Redisとmemcachedの違い

1731 ワード

  • redisは、list、set、zset、hash
  • などのより多くのデータ構造をサポートします.
  • redisはデータのバックアップをサポートし、master-slaveモードのデータバックアップ
  • redisはデータの永続化をサポート
  • はどのようにデータの持続化を行いますか?

  • ネットワークIOモデル:
    memcached    ,   IO       ,
            worker   ,          ,
         ,      pipe   worker  ,    IO,
         libevent      ,             ,
         cache coherency     ,
      :memcached    stats  ,
      memcached               ,       ,       。
    redis      IO    ,          AeEvent      ,
         epoll, kqueue select,      IO    ,
                   ,  redis             ,
        、   ,      ,                 ,
    CPU     ,  IO        。
    
  • データ整合性:
  • memcachedはcasコマンドを提供し、複数の同時アクセス操作の同じデータの一貫性の問題を保証します.
  • redisは、一連のコマンドの原子性を保証するトランザクションの機能を提供します.

  • クラスタ管理の違い:
  •    Memcached           ,Redis          ,                。
                    ,                       。
                               ,                 。
       Memcached         ,                           Memcached      。
            Memcached          。     Memcached        ,
                                ,                。
                ,               ,                   。
          Memcached              ,Redis                。
            Redis            。Redis Cluster                 Redis    ,
              ,          。Redis Cluster        ,                  ,
                 ascii      。         ,Redis Cluster   key      4096    ,
                        ,      Redis Cluster          4096。
       Redis Cluster            :crc16( key ) % HASH_SLOTS_NUMBER。
                      ,Redis Cluster   Master   Slave  。 Redis Cluster ,
         Master               Slave  。        ,                    。
        Master     ,         Slave      Master  。