Redis 你了解多少?

NoSQL:一类新出现的数据库(not only sql)

  • 泛指非关系型的数据库
  • 不支持SQL语法
  • 存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是KV形式
  • NoSQL的世界中没有一种通用的语言,每种nosql数据库都有自己的api和语法,以及擅长的业务场景
  • NoSQL中的产品种类相当多:
    • Mongodb
    • Redis
    • Hbase hadoop
    • Cassandra hadoop

NoSQL和SQL数据库的比较:

  • 适用场景不同:sql数据库适合用于关系特别复杂的数据查询场景,nosql反之
  • “事务”特性的支持:sql对事务的支持非常完善,而nosql基本不支持事务
  • 两者在不断地取长补短,呈现融合趋势

Redis简介

  • Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
  • Redis是 NoSQL技术阵营中的一员,它通过多种键值数据类型来适应不同场景下的存储需求,借助一些高层级的接口使用其可以胜任,如缓存、队列系统的不同角色

Redis特性

  • Redis 与其他 key - value 缓存产品有以下三个特点:
  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

Redis 优势

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis应用场景

  • 用来做缓存(ehcache/memcached)——redis的所有数据是放在内存中的(内存数据库)
  • 可以在某些特定应用场景下替代传统数据库——比如社交类的应用
  • 在一些大型系统中,巧妙地实现一些特定的功能:session共享、购物车
  • 只要你有丰富的想象力,redis可以用在可以给你无限的惊喜…….
是的,作为Java领域的专家,我可以回答这些问题。 1. Redis集群了解吗? Redis集群是一种分布式Redis数据库解决方案,可以通过将多个Redis节点组合成一个逻辑上的整体来实现高可用性和可扩展性。Redis集群使用哈希分片算法将数据分散存储在不同的节点上,从而实现数据的分布式存储和负载均衡。 2. 如何处理宕机的情况? Redis集群使用主从复制机制来保证高可用性,即将一个节点设置为主节点,其他节点设置为从节点。当主节点宕机时,集群会自动选举一个从节点作为新的主节点,从而保证服务的持续可用性。 此外,Redis还提供了哨兵机制,可以监控Redis节点的健康状态,当主节点宕机时,哨兵会自动将其中一个从节点升级为主节点,从而保证服务的高可用性。 3. Redis的同步策略? Redis支持两种同步策略:全量复制和增量复制。 全量复制指的是从节点在开始复制时,需要将主节点上的所有数据全部复制一遍,然后才能进行增量同步。全量复制的缺点是耗时较长,但可以保证数据的一致性。 增量复制则是只复制主节点上的最新数据,从节点会记录自己已经同步的数据偏移量,然后从这个偏移量开始进行增量同步。增量复制的优点是速度快,但可能存在数据不一致的情况。为了解决这个问题,Redis引入了复制偏移量校验机制,可以在从节点和主节点之间进行数据一致性检查。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值