Redis总述

末蓝、 2022-05-28 02:14 311阅读 0赞

1.Redis简介

  1. REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
  2. Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、高性能Key-Value数据库,并提供多种语言的API
  3. 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 有序集合(sorted sets)等类型。

2.Redis 与其他 key - value 缓存产品具备的特点

  1. Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  2. Redis不仅仅支持简单的key-value类型的数据,同时还提供listsetzsethash等数据结构的存储。
  3. Redis支持数据的备份,即master-slave模式的数据备份。

3.Redis优势

  1. 性能极高 Redis能读的速度是110000次/s,写的速度是81000次/s
  2. 丰富的数据类型 Redis支持二进制案例的 Strings, Lists, Hashes, Sets Ordered Sets 数据类型操作。
  3. 原子 Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTIEXEC指令包起来。
  4. 丰富的特性 Redis还支持 publish/subscribe, 通知, key 过期等等特性。
4.Redis与其他key-value存储有什么不同?
Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

PS:什么是BSD协议?

BSD开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。当你发布使用了BSD协议的代码,或者以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:

  • 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
  • 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
  • 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

BSD代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销 售,因此是对商业集成很友好的协议。

很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者 二次开发。

发表评论

表情:
评论列表 (有 0 条评论,311人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JAVA设计模式---

    1.分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理

    相关 图书分类系统-

    问题描述:此前搜集大量计算机书籍存储在百度云上,后来分享给小伙伴,小伙伴说太乱了,细思极恐,因此考虑了一下建立一个半自动化的图书整理系统,将图书自动分配到相应是路径下。 整体

    相关 接口测试

    脱离页面呈现,前段页面尚未完成,直接测试接口功能。重点是检查数据的交换、传递的正确性。通常包括测试接口参数检查、接口的参数传入及接口返回值是否正确。 目的是验证接口正确性和稳

    相关 《MYsql数据库》-----

    程序员都会sql数据库。但是有时候不常常使用的话会忘记。而跳槽找工作的时候面试官又喜欢问数据库。 故整理一个数据库的知识笔记,以备忘。 本《MYsql数据库》这系的文章笔记