转至:http://developer.51cto.com/art/201603/507980.htm

在今天的文章中,我们将探讨Redis(REmote DIctionary Server)。Redis是一套开源、内存内、键值存储方案。其亦可作为字典服务器接受引用,因为其中的键值并非单纯的字符串,而可包含散列、集、列表以及排序集等等。

Redis在表面上看与Memcached存在诸多共同点,但二者却又有着很大区别。

特性说明

  • 内存内: Redis将键值存储在主内存中,旨在加快读取与写入速度。
  • 复制: Redis支持主-从复制。相关数据访问可由从节点实现,而写入则可由主节点执行。复制过程具备可扩展性与可用性。如果任一从节点发生故障,其它从节点则继续提供数据访问支持。
  • 数据结构: Redis不仅存储字符串,同时亦包含列表、集、散列以及排序集等。
  • 虚拟内存: Redis利用RAM作为内存内存储机制。不过在RAM存储过程中,其实际使用虚拟内存进行数据承载。
  • 发布/订阅模式: Redis能够创建发布与订阅频道,各Redis客户端能够订阅任意频道以消费数据,而且订阅任意频道的客户端都能够进行数据发布。
  • 数据持久性: Redis会将内存内数据保留在文件系统当中以备定期检索。当Redis节点发生故障时,相关数据可由Redis Data文件进行恢复。

Redis还拥有一套富SDK支持集。大家可以点击此处获取其完整的客户端库列表。

另外还有不少高流量网站已经在使用Redis,其中包括:

  • Stack Overflow
  • Craigslist
  • Rackspace
  • Plugin support for Magento
  • GitHub

过去几年来,Redis阵容在规模上正日益壮大,感兴趣的朋友亦可点击此处查看BD-Engines网站计算得出的相关发展趋势。

缓存技术比拼:Redis与Memcached的同与不同的更多相关文章

  1. 网站缓存技术(Redis、Memcached、Ehcache)

    Redis 是什么? 通常而言目前的数据库分类有几种,包括 SQL/NSQL,,关系数据库,键值数据库等等等. 分类的标准也不一,Redis本质上也是一种键值数据库的,但它在保持键值数据库简单快捷特点 ...

  2. 缓存技术PK:选择Memcached还是Redis?

    缓存技术PK:选择Memcached还是Redis? memcached完全剖析----------------->高质量文章 memcached的最佳实践方案 数据缓存系统-memcached ...

  3. 缓存技术PK:选择Memcached还是Redis(转)

    [IT168 技术]要Memcached还是要Redis?在构建一款现代且由数据库驱动的Web应用程序并希望使其拥有更为出色的性能表现时,这个问题总会时不时出现.并给每一位开发人员带来困扰.在考虑对应 ...

  4. 接入层高性能缓存技术nginx+redis利器OpenResty

    一. OpenRestyOpenResty是一个基于 Nginx与 Lua的高性能 Web平台,其内部集成了大量精良的 Lua库.第三方模块以及大多数的依赖项.用于方便地搭建能够处理超高并发.扩展性极 ...

  5. 缓存算法及Redis、Memcached、Guava、Ehcache中的算法

    https://my.oschina.net/ffy/blog/501003 https://yq.aliyun.com/articles/622757 https://blog.csdn.net/s ...

  6. 分布式缓存技术redis学习系列(一)——redis简介以及linux上的安装

    redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...

  7. 分布式缓存技术redis学习(一)——redis简介以及linux上的安装

    redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...

  8. 分布式缓存技术redis系列(一)——redis简介以及linux上的安装

    redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...

  9. 分布式缓存技术PK:选择Redis还是Memcached?

    作者:田京昆(腾讯后台研发工程师) 来源:腾云阁(https://www.qcloud.com/community/article/129) Memcached和Redis,作为近些年最常用的缓存服务 ...

随机推荐

  1. [leetcode]Second Highest Salary

    找第二大 # Write your MySQL query statement below SELECT MAX(Salary) FROM Employee WHERE Salary NOT IN ( ...

  2. SSAS:概念梳理

    Dimension Objects 原文 A simple Dimension object is composed of basic information, attributes, and hie ...

  3. 如何让DevExpress TreeList的每个结点高亮显示?

    概述:如何让DevExpress TreeList的每个节点高亮显示? 如何让DXperience TreeList的每个节点高亮显示? 效果如下: private void treeList1_Cu ...

  4. FAILURE: Build failed with an exception.

    FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:installD ...

  5. Linux curl使用简单介绍

    在两台新搬迁的微信服务器上执行命令: curl -H "Content-Type: application/json" -d '{"partner_no":&q ...

  6. 关于异步Promises

    英文原文:What's The Point Of Promises? 迄今为止,可能每个JavaScript开发者和他们的祖母都听说过Promises.如果你没有,那么你即将会.promises的概念 ...

  7. linux2.6.24内核源代码分析(1)——扒一扒sk_buff

    最近研究了linux内核的网络子系统上的网络分组的接收与发送的流程,发现这个叫sk_buff的东西无处不在,内核利用了这个结构来管理分组,在各个层中传递这个结构,因此sk_buff可以说是linux内 ...

  8. ruby -- 进阶学习(十七)应用代码优化

    ROR开发,代码优化的方法下面这两项是比较重要的: link_to  Rails的link_to是非常慢的,它的代码实现过于复杂,特别是Rails1.2引入了REST以后,大量的命名路由被使用,这些命 ...

  9. LoRaWAN协议(一)--架构解析

    LoRaWAN 分层 总体架构一共分为4部分: LoRaWAN从底层到最后用户拿到数据的通讯过程通讯大致可分为三段: MOTE <---> GW (MAC层) GW <---> ...

  10. 客户端请求、服务器响应及其HTTP状态码

    一JSP客户端请求 当浏览器请求一个网页时,它会向网络服务器发送一系列不能被直接读取的信息,因为这些信息是作为HTTP信 息头的一部分来传送的.我们可以查阅HTTP协议来获得更多的信息. 下表列出了浏 ...