Redis Memcache SSDB比较

12 篇文章 0 订阅
12 篇文章 0 订阅

先来聊聊产品

redis是什么 国内官网 命令 php操作redis命令 学习手册

Redis 是一个开源(BSD许可)的,使用ANSI C语言编写的,支持网络、可基于内存亦可持久化日志型Key-Value数据库内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询. Redis 内置了 复制(replication), LUA脚本(Lua scripting), LRU驱动事件(LRU eviction), 事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel) 和自动 分区(Cluster)提供高可用性(high availability).

    你可以对这些类型执行 原子操作 , 列如: 字符串(strings)的append 命令散列(hashes)的hincrby命令列表(lists)的lpush命令集合(sets)计算交集sinter命令, 计算并集union命令 和 计算差集sdiff命令; 或者 在有序集合(sorted sets)里面获取成员的最高排名zrangebyscore命令.

    为了实现其卓越的性能, Redis 采用运行在 内存中的数据集工作方式. 根据您的使用情况, 您可以每隔一定时间将 数据集导出到磁盘 , 或者 追加到命令日志中. 您也可以关闭持久化功能,将Redis作为一个高效的网络的缓存数据功能使用.

    Redis 同样支持 主从复制(能自动重连和网络断开时自动重新同步),并且第一次同步是快速的非阻塞试的同步.



memcache是什么 官网 学习教程

Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像视频文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。

官方:

memcached is a high-performance, distributed memory object caching system, generic in nature, but originally intended for use in speeding up dynamic web applications by alleviating database load.

You can think of it as a short-term memory for your applications.

百度翻译:

Memcached是一个高性能的分布式的内存对象缓存系统,一般性的,但原本打算用于加速动态Web应用程序,减轻数据库负载。
你可以把它作为一个短期记忆为你的应用。


SSDB是什么  官网  命令

SSDB 是一个 C/C++ 开发的 高性能 NoSQL 数据库, 使用 Google 公司开源的 LevelDB 引擎作为底层的存储引擎支持 zset(sorted set), map(hash), kv, list 等数据结构, 用来替代或者与 Redis 配合存储十亿级别列表的数据,支持丰富的数据结构,基于本地存储。

SSDB 在 QIHU 360 被大量应用, 非常稳定. 而且, SSDB 支持在线备份功能, 可以通过网络备份数据, 不再担心数据丢失. SSDB 还支持主从同步复制(Replication), 可用于负载均衡.

更重要的是, SSDB 支持 Redis 中的 zset 数据类型, 以及 hashmap 类型, 所以不是一个简单的 KV 存储服务器, 实际应用中, KV 存储的局限性非常大.


下面聊聊特性

Redis特性

Memcache特性
  • 内存存储,速度快,对于内存的要求高
  • 可以缓存非持久化内容包括音频视频等,并且对cpu要求很低。常常采用将 Memcached 服务端和一些 CPU 高消耗 Memory 低消耗应用部属在一起 。
  • Memcached 的很突出一个优点,就是采用了可分布式扩展的模式。可以将部属在一台机器上的多个 Memcached 服务端或者部署在多个机器上的 Memcached 服务端组成一个虚拟的服务端,对于调用者来说完全屏蔽和透明。提高的单机器的内存利用率 。
  • 集中式 Cache :避开了分布式 Cache 的传播问题,但是需要非单点保证其可靠性,这需要 cluster 的工作,可以将多个 Memcached 作为一个虚拟的 cluster ,同时对于 cluster 的读写和普通的 memcached 的读写性能没有差别。
  • 客户端 API 支持的语言包括: C++PHP, Python, Java, Go...
  • Cache 机制简单: 首先它没有什么同步,消息分发,两阶段提交等等,它就是一个很简单的 Cache ,把东西放进去,然后可以取出来,如果发现所提供的 Key 没有命中,那么就很直白的告诉你,你这个 key 没有任何对应的东西在缓存里,去数据库或者其他地方取,当你在外部数据源取到的时候,可以直接将内容置入到 Cache 中,这样下次就可以命中了 。
  • 主从复制, 负载均衡

SSDB特性
  • 替代 Redis 数据库, Redis 的 100 倍容量
  • LevelDB 网络支持, 使用 C/C++ 开发
  • Redis API 兼容, 支持 Redis 客户端
  • 适合存储集合数据, 如 list, hash, zset...
  • 客户端 API 支持的语言包括: C++PHP, Python, Java, Go
  • 持久化的队列服务
  • 主从复制, 负载均衡
  • 基于本地存储 对内存消耗极小

对比


redis与memcache在上一篇已经对比过了 在这里就不对比了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值