初识Redis

栏目: IT技术 · 发布时间: 4年前

内容简介:数据库: 用来存储数据的仓库NoSQL: 不仅仅是SQL,是许多非关系型数据库的统称,但本质上还是存储数据的仓库为什么需要NoSQL?

初识Redis

NoSQL是什么?

数据库: 用来存储数据的仓库

NoSQL: 不仅仅是SQL,是许多非关系型数据库的统称,但本质上还是存储数据的仓库

为什么需要NoSQL?

  1. 解决了高并发的读写问题
  2. 解决了海量数据的高效率存储和访问问题
  3. 实现了高可用性及高可扩展性

Redis是什么?

是由 C语言 开发的一款开源的、高性能的键值对存储数据库。

它支持多种键值数据类型。包括字符串、列表、集合、散列、有序集合等。它内置复制、 Lua 脚本、LRU收回、事务及不同级别磁盘持久化功能,同时通过Redis Sentinel实现高可用,Redis Cluster提供自动分区等相关功能。

Redis的特性

  1. 支持多种语言。c、 java 、c++等
  2. 丰富的数据类型
  3. 多种数据结构,如哈希、集合、位图(多用于活跃用户数等统计)、HyperLogLog(超小内存唯一值计数,由于只有12kb,因而有误差)、GEO(地理位置信息)
  4. 读写速度快,性能高。官方给出的数据是:Redis 能读的速度是 110 000 次/s,写的速度是 81 000 次/s。之所以有这么快的读/写速度,是因为这些数据都存储在内存中。
  5. 支持持久化。Redis 的持久化也就是备份数据,它每隔一段时间就将内存中的数据保存在磁盘中,在重启的时候会再次加载到内存中,从而实现数据持久化。Redis 的持久化方式是 RDB 和 AOF。
  6. 简单且功能强大。如利用 Redis 可以实现消息订阅发布、Lua 脚本、数据库事务、Pipeline(管道,即当指令达到一定数量后,客户端才会执行)。同时 Redis 是单线程的,它不依赖外部库,它的所有操作都是原子性的,使用简单。
  7. 实现高可用主从复制,主节点做数据副本。
  8. 实现分布式集群和高可用。Redis Cluster 支持分布式,进而可以实现分布式集群;Redis Sentinel 支持高可用。

Redis的使用场景

  1. 做缓存。这是 Redis 使用最多的场景。Redis 能够替代 Memcached。比如,实现数据查询、缓存新闻消息内容、缓存商品内容或购物车等。
  2. 做计数器应用。Redis 的命令具有原子性,它提供了 INCR、DECR、GETSET、INCRBY 等相关命令来构建计数器系统。可以使用 Redis 来记录一个热门帖子的转发数、评论数。通过 Redis 的原子递增,可以实现在任何时候封锁一个 IP 地址等。
  3. 实现消息队列系统。Redis 运行稳定,速度快,支持模式匹配,也可以实现消息订阅发布。Redis 还有阻塞队列的命令,能够让一个程序在执行时被另一个程序添加到队列中。比如,实现秒杀、抢购等。
  4. 做实时系统、消息系统。可以利用 Redis 的 set 功能做实时系统,来查看某个用户是否进行了某项操作,对其行为进行统计对比。也可以利用 Redis 的 Pub/Sub 构建消息系统,如在线聊天系统。
  5. 现排行榜应用。排行榜的实现利用了 Redis 的有序集合。比如,对上百万个用户的排名,采用其他数据库来实现是非常困难的,而利用 Redis 的 ZADD、ZREVRANGE、ZRANK 等命令可以轻松实现排名并获取排名的用户。
  6. 做数据过期处理。我们可以将 sorted set 的 score 值设置成过期时间的时间戳,然后通过过期时间排序,找出过期的数据进行删除。可以采用过期属性来确认一个关键字在什么时候应该被删除。也可以利用 UNIX 时间作为关键字,将列表按时间排序。对 currenttime 和 timeto_live 进行检索,查询出过期的数据,进而删除。
  7. 布式集群架构中的 session 分离。采用分布式集群部署,可以满足一个 Web 应用系统被大规模访问的需要。而要实现分布式集群部署,就要解决 session 统一的问题。通常可以采用 Redis 来实现 session 共享机制,以达到 session 统一的目的。

以上所述就是小编给大家介绍的《初识Redis》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Code

Code

Charles Petzold / Microsoft Press / 2000-10-21 / USD 29.99

Paperback Edition What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of ......一起来看看 《Code》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具