全文分享:标点符《Redis和Memcached的区别》

Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较:

  1. Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效。所以,如果需要缓存能够支持更复杂的结构和操作,那么Redis会是不错的选择。
  2. 内存使用效率对比:使用简单的key-value存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。
  3. 性能对比:由于Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached,还是稍有逊色。

我也一直比较模糊到底什么时候用memcached,什么时候适合redis。redis功能各方面都很优秀,从维护、复用、多功能角度,一般情况下用个redis就可以了。通过上面对比,我觉得,redis还是更适合数据cache,memcached做页面cache,这样可能更好点:)

– 安装cassandra数据库
     – kong支持的cassandra的版本是2.1.x和2.2.x,按照官网的步骤安装现成的包即可:http://wiki.apache.org/cassandra/DebianPackaging
          – 创建  /etc/apt/sources.list.d/cassandra.list,内容如下:
          – 导入相应的key(下面的说明是2.1.x的key,根据提示替换F758CE318D77295D为当前的key(749D6EEC0353B12C)),去下载并添加即可)
          – 如有需要加上如下的key
          – 执行apt-get安装即可:
– 安装kong
     – 官网或者github的release区,下载最新的kong deb安装包,包括了lua相关依赖和ngx_openresty(这个是一个改造过的nginx,支持lua)
     – 安装依赖以及kong
     – 启动kong,第一次会连接cassandra,执行数据库的migrate命令。
– 配置kong
     – kong是基于nginx实现的。所以安装了kong的机器,无需再单独安装nginx了。
     – kong的配置文件默认在/etc/kong/kong.yml 在这个里面配置nginx的相关信息即可。

Kong可以说是API的得力助手。对需要从事API管理的广大开发员来说,它是最出色的工具之一。Kong是开源工具,具有可扩展性和模块性,可以在任何一种基础设施上运行。多年来,Kong一直在支持优秀的开发项目,比如Mashape(世界上规模最大的API市场)。最棒的是,Kong得到了强大的Nginx的支持。

 

ck4J4EbLPr18-ktYEk3n

Kong的主要功能

– Kong可灵活扩展:只要增添更多的服务器实例,它就能横向扩展,毫无问题,那样你可以支持更多流量,同时确保网络延迟很短。
– Kong可在任何地方运行:它可以部署在单个或多个数据中心环境的私有云或公有云上。它还支持大多数流行的操作系统,比如Linux、Mac和Windows。Kong包括许多实用技巧,以便针对大多数现代平台完成安装和配置工作。
– Kong具有模块性:它可以与新的插件协同运行,扩展基本功能。可将你的API与许多不同的插件整合起来,以增强安全、分析、验证、日志及/或监测机制。最好的例子之一就是Nginx Plus插件(https://getkong.org/plugins/nginx-plus-monitoring/),该插件提供了服务器实时监测机制,以获得关于负载和请求的度量指标和统计数字。
– 开源及企业:虽然Kong是开源工具,可供每个人免费使用,但你也能获得企业版,企业版通过电子邮件、电话和聊天提供了快速支持,此外还提供初始安装、从第三方API管理工具来迁移、紧急补丁、热修复程序及更多特性。