Redis 简介_redis中文网

Redis 简介_redis中文网Redis 是一种基于键值对(key-value)的NoSql 数据库。Redis 中的值可以是由string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、B…

Redis 简介

Redis 特性

    1.速度快

      官方给出的数字是读写性能可以达到10万/秒,当然这也取决于机器的性能。大致归纳速度快的四点原因如下:

            # Redis 的所有数据都是放在内存中的,这也是最主要的原因;

            # Redis 是用C 语言实现的,“距离” 操作系统更近,执行速度相对会更快;

            #  Redis 使用了单线程架构,预防了多线程可能产生的竞争问题;

            # 源代码精细,集性能与优雅与一身;

    2.基于键值对的数据结构服务器

       与很多键值对数据库不同的是,Redis 中的值不仅可以是字符串,而且还可以是具体的数据结构,这样不仅便于在许多应用场景开发,同时也能提高开发效率。Redis 的全称是Remote Dictionary Server ,它主要提供了5种数据结构:字符串、哈希、列表、集合、有序集合,同时在字符串的基础上演变出了Bitmaps 和HyperLogLog。Redis 3.2 加入了有关GEO的功能。

    3.丰富的功能

        Redis还提供了许多额外的功能:

            # 键过期功能,可以用来实现缓存;

            # 发布订阅功能,可以用来实现消息系统;

            # 支持Lua 脚本功能,可以利用Lua 创造出新的 Redis 命令;

            # 简单的事务功能,能在一定程度上保证事务特性;

            # 流水线(Pipeline)功能,这样客户端能将一批命令一次性传到Redis 减少了网络的开销;

    4.简单稳定

        Redis 的简单主要变现在三个方面。

            # 源代码很少,早期版本只有2 万行左右,3.0后添加了集群特性,增至5 万行左右。

            # 使用单线程模型,使服务端处理模型变得简单,也使客户端开发简单。

            # 不需要依赖于操作系统的类库,Redis 自己实现了事件处理的相关功能

    5.客户端语言多

        Redis 提供了简单的TCP 通信协议,很多语言可以方便的接入Redis。由于受欢迎,支持Redis 的客户端语言也很多。

    6.持久化

        Redis 提供了两种持久化方式:RDB 和 AOF。

    7.主从复制

        Redis 提供了复制功能,实现了多个相同数据的Redis 副本,复制功能是分布式Redis 的基础。

    8.高可用和分布式

        Redis 从2.8 版本正式提供了高可用实现 Redis Sentinel,它能保证 Redis 节点的故障发现和故障自动转移。Redis 从3.0 版本正式提供了分布式实现 Redis Cluster,它是 Redis 真正的分布式实现,提供了高可用、读写和容量的扩展性。

Redis 的使用场景

    1.缓存

        合理使用缓存不仅可以加快数据的访问速度,而且能够有效地降低后端数据源的压力。Redis 提供了键过期时间设置,并且也提供了灵活控制最大内存和内存溢出后的淘汰策略。

    2.排行榜系统

        Redis 提供了列表和有序集合数据结构,合理使用这些数据结构可以很方便的构建各种排行榜系统。

    3.计数器应用

        Redis 天然支持计数功能而且计数的性能也非常好,可以说是计数系统的重要选择。

    4.社交网络

        赞/踩、粉丝、共同好友/喜好、推送、下拉刷新等是社交网络的必备功能,由于社交网站访问量通常比较大,而且传统关系型数据库不适合保存这种类型数据,Redis 提供的数据结构可以相对容易地实现这些功能。

    5.消息队列系统

        消息队列系统可以说是一个大型网站的必备基础组件,因为其具有业务解耦、非实时业务削峰等特性。Redis 提供了发布订阅功能和阻塞队列的功能,虽然和专业的消息队列比还不够强大,但是对于一般的消息队列功能基本可以满足。

    6.Redis 不可以做什么

        站在数据规模的角度看,数据可以分为大规模数据和小规模数据。因为Redis 的数据是存放在内存中的,如果数据量非常大,经济成本非常高。站在数据冷热的角度看,数据分为冷数据和热数据,热数据通常是指需要频繁操作的数据,反之为冷数据。冷数据放在Redis 中,基本上是对于内存的一种浪费,但是对于热数据可以放在Redis 中加速读写,也可以减轻后端存储的负载,可以说是事半功倍。

用好 Redis 的建议

        切勿当做黑盒使用,只会使用API,要真正了解Redis 的一些原理,从而避免使用了不合适的API 造成不必要的故障。阅读源码(会C 语言 :( )。

        

 

 

参考资料:

        《Redis 开发与运维》

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9232.html

(0)
上一篇 2023-02-12 19:00
下一篇 2023-02-12

相关推荐

  • 试试SQLSERVER2014的内存优化表「建议收藏」

    试试SQLSERVER2014的内存优化表「建议收藏」原文:试试SQLSERVER2014的内存优化表试试SQLSERVER2014的内存优化表SQL Server
    2014中的内存引擎(代号为Hekaton)将OLTP提升到了新的高度。现在,存储…

    2023-05-21
    140
  • 提高螺纹连接强度——Python Helicoil Insert

    提高螺纹连接强度——Python Helicoil Insert在机械设计中,螺纹连接是常用的连接方式之一,但在实际应用中,常常出现螺纹损坏导致连接松动等问题。Helicoil Insert是一种有效的螺纹加固解决方案,它可以提高螺纹连接的强度和可靠性,避免因螺纹损坏而导致的松动问题。

    2024-04-03
    71
  • Python项目中使用dirs模块实现目录操作

    Python项目中使用dirs模块实现目录操作dirs模块使用起来非常方便,只需要使用Python的import语句导入dirs模块,然后就可以直接调用其提供的各种函数进行目录操作。

    2024-03-05
    80
  • 使用MongoDB创建新用户

    使用MongoDB创建新用户MongoDB是一个基于分布式文件存储的数据库,在互联网应用中很广泛地被使用,它在很多方面比传统关系型数据库更适合处理海量数据。本文将为大家介绍如何使用MongoDB创建新用户,让您更好地运用MongoDB进行数据管理。

    2024-07-08
    39
  • sql字段加密解密_excel函数100例正式课

    sql字段加密解密_excel函数100例正式课摘要:数据加密作为有效防止未授权访问和防护数据泄露的技术,在各种信息系统中广泛使用。作为信息系统的核心,GaussDB(DWS)数仓也提供数据加密功能,包括透明加密和使用SQL函数加密。 本文分享自华

    2023-06-15
    156
  • Oracle重命名sys或system操作记录[通俗易懂]

    Oracle重命名sys或system操作记录[通俗易懂]oracle等保中有条要求:应重命名或删除默认账户,修改默认账户的默认口令。给的建议是修改sys,system默认账户名称,避免使用常见用户名称;以下记录了两种方法来实现上面的要求:Oracle重命…

    2023-04-05
    161
  • Python爬虫实战:用Pyt获取网络数据

    Python爬虫实战:用Pyt获取网络数据随着互联网的发展,越来越多的数据可以通过网络获取。Python作为一种优秀的编程语言,在网络数据爬取方面拥有很高的效率和便利性。使用Python编写爬虫程序可以获取网络上的各种信息,例如新闻、股票数据、电影资讯等等。

    2024-01-07
    110
  • oracle jdbc maven_jdbc.properties配置oracle

    oracle jdbc maven_jdbc.properties配置oraclehttps://repo1.maven.org/maven2/com/oracle/database/jdbc/

    2023-02-26
    151

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注