【Redis】Redis学习(一) Redis初步入门

 

1、Redis基础知识

1.1 Redis简介

   Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用做数据库高速缓存消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不一样级别磁盘持久化功能,同时经过Redis Sentinel提供高可用,经过Redis Cluster提供自动分区。php

  通常项目均可以使用它。html

1.2 Redis资料

   Redis的资料仍是比较多的,首先推荐Redis中文网站的资料,其余的java

1.2.1 初步教程

  Redis 教程:http://www.runoob.com/redis/redis-tutorial.html,菜鸟教程,内容很详细,阅读完后基本就对Redis有个全面的了解。其中每部分连接:redis

  Redis 教程 Redis 简介 Redis 安装 Redis 配置 Redis 数据类型sql

  Redis 命令 Redis 键(key) Redis 字符串(String) Redis 哈希(Hash) Redis 列表(List) Redis 集合(Set) Redis 有序集合(sorted set) Redis HyperLogLog Redis 发布订阅 Redis 事务 Redis 脚本 Redis 链接 Redis 服务器数据库

  Redis 数据备份与恢复 Redis 安全 Redis 性能测试 Redis 客户端链接 Redis 管道技术 Redis 分区 Java 使用 Redis PHP 使用 Redis缓存

1.2.2 其余教程

  全部命令解析:http://www.redis.net.cn/order/,遇到不懂的能够来查询。安全

2、Redis和同类产品的比较

  根据Redis的简介,Redis可用做数据库高速缓存消息队列代理,那么当你打算使用它们这些功能的时候,能够考虑一下与其余产品的对比,选出一个更好用的。服务器

1.1 作为数据库与之比较

  Redis是能够作为数据库来使用的,它能够看作一个key/value型数据库,由于Redis会根据配置定时将内存中的数据写入到硬盘中,这样即使重启之后依然能够恢复,可是有几个缺点须要考虑一下:数据结构

  • Redis只能存储key/value类型,虽然value的类型能够有多种,可是对于关联性的记录查询,没有Oracle/Mysql方便。
  • Redis内存数据写入硬盘有必定的时间间隔,在这个间隔内数据可能会丢失,虽而后续会介绍各类模式来保证数据丢失的可能性,可是依然会有可能,因此对数据有严格要求的不建议使用Redis作为数据库。

1.2 作为高速缓存与之比较

  我以为Redis的本职工做仍是高速缓存,一样能够作为缓存的有Ehcache、Memcached 。有一篇博客介绍的很详细:http://blog.csdn.net/jationxiaozi/article/details/8509732。我就简单总结一下,只说它们最大的特色,读取速度再也不考虑范围以内,毕竟能做为相互比较的缓存工具,速度不会差的太多,只列出较为突出的优势和缺点,列出来表示其余没有:

Ehcache

    • 是一个Java开源项目,使用的方式就是引入一个jar包,很是方便

Memcached 

    • 若是开启多线程模式,读取速度将有极大的提升
    • 数据只会存储在内存中,挂掉后数据不可恢复

Redis

    • 数据结构很是丰富,字符串、hash列表、list、Set等等
    • 支持主从,Sentinal,分片等多种高级特性,用于负载均衡和容灾,具备高可用性
    • 几乎支持全部语言的客户端

  根据需求选择最合适的。

1.3 作为消息队列与之比较

  Redis也是能够作为消息队列的,与之相同功能比较优秀的就是Kafka,简单比较以下:

Redis

    • 只能说具有发布订阅功能,一个或多个消费者订阅一个频道

Kafka

    • 高级特性包罗万象,集群、负载均衡、动态扩容、数据备份等

  这么说,若是能用Kafka就用Kafka,对于数据不敏感的通常场景也是能够应用Redis的。

相关文章
相关标签/搜索