美文网首页
Redis学习笔记-1

Redis学习笔记-1

作者: LegendGo | 来源:发表于2020-05-10 16:45 被阅读0次

Redis是什么,为什么这么快

  1. Redis 是key-value型数据库
  2. Redis是内存的数据库,这样可以避免磁盘I/O,因此Redis也被称为缓存工具
  3. 采用单线程单进程查询模型,这样避免了上下文切换和不必要的的线程之前的资源竞争
  4. 采用多路I/O复用技术,复用是复用一个线程,采用多路I/O复用技术的好处就是可以在同一个线程中处理多个I/O请求,尽量减少网络I/O的消耗,提升效率
  5. 采用Key-value存储,数据的查询复杂度味O(1)

Redis的数据类型

Redis 支持的数据类型包括字符串、哈希、列表、集合、有序集合等。

  1. 字符串类型是 Redis 提供的最基本的数据类型,对应的结构是 key-value。
  2. 哈希(hash)提供了字段和字段值的映射,对应的结构是 key-field-value。
  3. 字符串列表(list)的底层是一个双向链表结构,所以我们可以向列表的两端添加元素,时间复杂度都为 O(1),同时我们也可以获取列表中的某个片段。
  4. 字符串集合(set)是字符串类型的无序集合,与列表(list)的区别在于集合中的元素是无序的,同时元素不能重复。
  5. 有序字符串集合(SortedSet,简称 ZSET)理解成集合的升级版。实际上 ZSET 是在集合的基础上增加了一个分数属性,这个属性在添加修改元素的时候可以被指定。每次指定后,ZSET 都会按照分数来进行自动排序,也就是说我们在给集合 key 添加 member 的时候,可以指定 score。

除了这 5 种数据类型以外,Redis 还支持位图(Bitmaps)数据结构,在 2.8 版本之后,增加了基数统计(HyperLogLog),3.2 版本之后加入了地理空间(Geospatial)以及索引半径查询的功能,在 5.0 版本引用了数据流(Streams)数据类型。

为什么采用连接池

基于直接连接的弊端,Redis 提供了连接池的机制,这个机制可以让我们事先创建好多个连接,将其放到连接池中,当我们需要进行 Redis 操作的时候就直接从连接池中获取,完成之后也不会直接释放掉连接,而是将它返回到连接池中。

连接池原理

在连接池的实例中会有两个 list,保存的是_available_connections和_in_use_connections,它们分别代表连接池中可以使用的连接集合和正在使用的连接集合。当我们想要创建连接的时候,可以从_available_connections中获取一个连接进行使用,并将其放到_in_use_connections中。如果没有可用的连接,才会创建一个新连接,再将其放到_in_use_connections中。如果连接使用完毕,会从_in_use_connections中删除,添加到_available_connections中,供后续使用。

相关文章

  • 【Redis】Redis学习笔记(五)jedis(JedisCl

    redis系列文章目录 redis学习笔记(一)redis3.2.5集群安装与测试 redis学习笔记(二)Jed...

  • Redis学习笔记:事务

    Redis学习笔记:事务 原文链接:Redis学习笔记:事务 一、事务的描述 和MySQL一样,Redis中也有事...

  • Redis 参数

    Redis Redis 学习笔记 II 常见参数配置

  • 2021-07-31_redis&Lua限流框架设计学习笔记

    20210731_redis&Lua限流框架设计学习笔记 1概述 本节主要学习分布式限流场景下,使用redis+l...

  • Redis学习笔记1

    经过了一个月的spark streaming学习,答猪感觉有点自己有点像在云中漫步,感觉这方向不太适合现在的答猪,...

  • Redis学习笔记1

    全局操作: #查看所有keykeys * 或 keys"*"#查看匹配前缀的keyskeys"miao*"#清空r...

  • Redis学习笔记 -- 1

    redis作为内存非关系型数据库,是一种key - value 缓存产品,但它同时还支持数据持久化,常常和一些老牌...

  • Redis学习笔记1

    初识Redis Redis是一个开源使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、key-va...

  • Redis学习笔记-1

    Redis是什么,为什么这么快 Redis 是key-value型数据库 Redis是内存的数据库,这样可以避免磁...

  • Redis 学习笔记(1)

    1 NoSQL概述: 1.1 为什么要用Nosql 1.1.1 单机年代 数据量太大,一台机器放不下数据的索引(B...

网友评论

      本文标题:Redis学习笔记-1

      本文链接:https://www.haomeiwen.com/subject/dzujnhtx.html