带你学 Redis:Redis简介(一)

Redis 是什么?

Redis 是一个高性能 key-value 的非关系型内存数据库,这里 key-value 可以理解成Java中的 Map。Redis 的 value 支持各种数据结构类型,不仅有常用的 string,还有 list、set、hashmap、sorted sets、bitmaps、hyperloglogs 、geospatial。

Redis 通过 master-slave (主从架构) + sentinel(哨兵)来实现 它的高并发和高可用。同时它还支持 RDB(磁盘快照) 和 AOF(操作命令记录在磁盘日志文件中) 2种方式数据持久化。

Redis 官方介绍如下:

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.

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

以上内容来源: http://www.redis.cn/https://redis.io/

Redis 能用来干啥?

  • 缓存
  • 消息队列
  • 购物车
  • 排行榜
  • 文章点赞
  • 分布式锁
  • PV、UV的统计

这些应用场景会在后面的博文中一一介绍。

Redis 优势和优点

(1)内存数据库,读写速度性能极高,Redis普通单机读写的速度能达到 8万次/s 左右。同时支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

(2)丰富的数据结构类型 – 处理普通的String 类型以外,还支持 list,set,sorted set,hash 等数的操作。

(3)原子性操作 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行。(事务)

(4)丰富的特性 – Redis还支持 publish/subscribe(发布/订阅), key 过期等等特性。

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

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

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

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

Redis和Memcached的区别

  • Redis和Memcached都是将数据存放在内存中,都是内存数据库。两者都可以用来存储键值对,性能方面不相上下。

  • Memcached只能存储普通的字符串key-value,而 Redis
    除了支持键值对之外,还支持list,set,zset,hash等数据结构

  • 灾难恢复–Memcached挂掉后,数据不可恢复; Redis数据丢失后可以通过AOF或RDB 方式进行恢复;

  • 存储数据安全–Memcached挂掉后,数据没了;Redis可以定期保存到磁盘(持久化);

  • Redis支持数据的备份,即Master-Slave模式的数据备份;

  • 应用场景不一样:Redis出来作为NoSQL数据库使用外,还能用做消息队列、数据堆栈和数据缓存等;Memcached适合于缓存SQL语句、数据集、用户临时性数据、延迟查询数据和Session等。

  • Memcached本身不支持分布式,需要依赖客户端来实现。而 Redis 支持分布式。

Redis和其他数据库的区别

在这里插入图片描述

Redis 快速体验

通过官方提供的交互式教程可以无需安装Redis 就可以快速体验Redis的操作。

访问 https://redis.io/ 点击 interactive tutorial ,如下图所示:
在这里插入图片描述
然后在 > 处输入 TUTORIAL ,如下图所示:
在这里插入图片描述
然后根据上面命令进行操作,具体操作如下:
在这里插入图片描述
在这里插入图片描述

参考文献

发布了141 篇原创文章 · 获赞 527 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/ljk126wy/article/details/104372619
今日推荐