Java 杂谈Java架构进阶

Redis简介以及和其他缓存数据库的区别

2019-05-15  本文已影响0人  java架构进阶

一、Redis简介

Redis 是一个开源的内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。

它支持多种类型的数据结构,如字符串(Strings),散列(Hashes),列表(Lists),集合(Sets),有序集合(Sorted Sets或者是ZSet) 与范围查询, Bitmaps,Hyperloglogs 和 地理空间(Geospatial)索引半径查询。 其中常见的数据结构类型有String、List、Set、Hash、ZSet这5种。

Redis 内置了复制(Replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(Transactions) 和不同级别的磁盘持久化(Persistence), 并通过 Redis哨兵(Sentinel)和自动分区(Cluster)提供高可用性(High Availability)。

Redis也提供了持久化的选项,这些选项可以让用户将自己的数据保存到磁盘上面进行存储。根据实际情况, 可以每隔一定时间将数据集导出到磁盘(快照),或者追加到命令日志中(AOF只追加文件),他会在执行写命令时,将被执行的写命令复制到硬盘里面。您也可以关闭持久化功能,将Redis作为一个高效的网络的缓存数据功能使用。

Redis不使用表,他的数据库不会预定义或者强制去要求用户对Redis存储的不同数据进行关联。

数据库的工作模式按存储方式可分为:硬盘数据库和内存数据库。Redis 将数据储存在内存里面,读写数据的时候都不会受到硬盘 I/O 速度的限制,所以速度极快。

(1)硬盘数据库的工作模式: (2)内存数据库的工作模式:

资源列表:

官网地址:https://redis.io/

中文官方地址:http://www.redis.cn/

二、Redis 优势和优点

三、Redis 与其他 key - value 缓存产品有以下三个特点:

(1)Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

(2)Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

(3)Redis支持数据的备份,即master-slave模式的数据备份。

四、Redis和Memcached的区别
Redis常被拿来和高性能键值缓存服务器Memcached进行对比:这两者都可以用来存储键值对,彼此的性能也相差无几,但是Redis相对支持更多的数据类型,除了支持键值对之外,还支持list,set,zset,hash等数据结构的存储,而Memcached只能存储普通的字符串键。

Memcached用户只能通过APPEND的方式将数据添加到已有的字符串的末尾,并将这个字符串当做列表来使用。但是在删除这些元素的时候,Memcached采用的是通过黑名单的方式来隐藏列表里的元素,从而避免了对元素的读取、更新、删除等操作。相反的Redis的List和Set允许用户直接添加和删除元素。

Redis和Memcached的其他区别如下:

五、Redis和其他数据库的区别

上一篇 下一篇

猜你喜欢

热点阅读