美文网首页
开源 Medis 项目, 同时支持 Redis 和 Memcac

开源 Medis 项目, 同时支持 Redis 和 Memcac

作者: selboo | 来源:发表于2019-03-13 10:30 被阅读0次

    Memcached, 是一套分布式的高速缓存系统

    Redis, 是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

    我们内部有很多系统都依赖 Memcached, 虽然平时没什么问题, 但是一旦宕机, 内存中数据丢失, 导致系统命中率下降, 严重影响系统稳定性. 虽然有很多解决方法, 比如: 对key做hash分布在不同实例下. 或更换持久性 Redis, 都要对业务层进行修改, 由于各种原因无法直接修改业务代码. 所以我云针对 Redis 2.0 版本 打了个patch,支持 memcache 协议, 同一个进程监听两个端口, 一个 Redis 6379, 一个 Memcached 11211, 对同一块内存进行操作

    项目:https://github.com/vislee/medis

    命令支持

    由于使用 Redis 2.0 添加 Memcached 协议, 所以 Redis 命令都支持, Memcached 只支持部分命令如下:

    set
    add
    replace
    append
    prepend
    get
    gets
    delete
    incr
    decr
    

    安装 Medis

    git clone https://github.com/vislee/medis.git
    make
    make install
    

    配置文件

    daemonize yes
    pidfile /var/run/medis.pid
    port 6379
    memcached-port 11211
    timeout 300
    loglevel notice
    logfile /var/log/medis.log
    databases 3
    save 900 1
    save 300 10
    save 60 10000
    rdbcompression yes
    dbfilename dump.rdb
    dir /var
    maxclients 102400
    maxmemory 1024mb
    appendonly no
    appendfilename appendonly.aof
    appendfsync no
    activerehashing yes
    

    性能测试

    image.png image.png

    相关文章

      网友评论

          本文标题:开源 Medis 项目, 同时支持 Redis 和 Memcac

          本文链接:https://www.haomeiwen.com/subject/xdqzpqtx.html