redis缓存中间件基础知识介绍

redis缓存中间件基础知识介绍

基本数据结构

String:普通的set和get,做简单的KV缓存、计数器和共享用户session。

Hash:类似Map,一般存储结构化的数据(简单的对象),Hash的应用场景比较单一(现在的对象内部也嵌套一堆对象不适合Hash)。

List:有序列表(插入时的顺序)

消息队列:生产者通过Lpush,多个消费者使用BRpop阻塞的“抢”列表尾部的数据。

文章列表数据分页展示:通过lrange命令,读取某个闭区间内的元素,比如微博向下滑动刷新出页面。

Set:无序集合,自动去重,使用set进行交集,并集,差集的操作。比如两个人的共同好友。

StoredSet:带排序的Set

Bit-Map 实现的BloomFilter:布隆过滤器,可以用来判断数据库中是否存在这个信息。

持久化

RDB:镜像全量持久化,持久化耗费较长时间,恢复数据速度快,不够实时

AOF:增量持久化,每一秒或者每一次操作就在AOF文件末尾追加上操作代码,恢复数据时间慢。

如果中途断电会怎么样

取决于AOF日志sync属性的配置,如果不追求性能,每条写指令时都sync一下磁盘,就不会丢失数据。一般都使用定时sync,比如1s1次,这个时候最多就会丢失1s数据

RDB原理

fork和cow,fork是指redis通过创建子进程进行RDB操作,cow是指copy on write,子进程创建后,父子进程共享数据段,父进程继续提供读写服务,写脏的页面数据会逐渐和子进程离开来。

Pipeline有什么好处,为什么用

可以将多次IO往返的时间缩减为一次,前提是pipeline执行的指令之间没有因果关系,使用redis-banchmark进行压测的时候可以发现影响redis的QPS峰值的一个重要因素是pipeline批次指令的数目。

更多redis知识请关注redis入门教程栏目。

以上就是redis缓存中间件基础知识介绍的详细内容,更多请关注【创想鸟】其它相关文章!

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2044041.html

(0)
上一篇 2025年2月24日 01:03:18
下一篇 2025年2月24日 01:03:33

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 使用命令连接redis

    Redis 命令用于在 redis 服务上执行操作。 要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前下载的的 redis 的安装包中。 语法 Redis 客户端的基本语法为: 启动 redis 客…

    2025年2月24日
    000
  • redis的分区实现

    分区是分割数据到多个redis实例的处理过程,因此每个实例只保存key的一个子集。本文就来为大家介绍一下redis实现分区的方法。 我们为什么要分区?分区的动机是什么?通常来说,Redis分区的好处大致有如下两个方面: 1、性能的提升,单机…

    2025年2月24日 数据库
    200
  • redis限制IP访问次数的方法

    有时候我们需要限制一个api或页面访问的频率,例如单ip或单用户一分钟之内只能访问多少次,类似这样的需求很容易用redis来实现。 策略1: 在redis中保存一个count值(int),key为user:$ip,value为该ip访问的次…

    2025年2月24日
    200
  • Spring-data-redis集成redis的方法

    Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, and RJC)进行了高度封装。 一、安装redis服务  1…

    2025年2月24日
    200
  • redis中的关系查询介绍

    本文对Redis如何保存关系型数据,以及如何对其匹配、范围、模糊查询进行举例讲解。 1、关系型数据的存储 以Staff对象为例,在关系型数据库或类似GridGain的内存网格产品中(底层使用H2数据库的内存模式存储),我们以表形式保存对象的…

    2025年2月24日
    200
  • redis常用接口实现

    在实际工作中,redis通常是作为一个常用的工具类,你只需要调用其即可,所以这里就统计了redis的一些常用接口方法与实现。这里是封装了单机版与集群版本的两种不同实现。 java是基于Jedis的jar包开发的,首先,你需要先下载安装这个j…

    2025年2月24日
    200
  • redis遍历所有key的方法

    redis键命令用于管理redis的键。本文就来为大家介绍redis中两个遍历redis所有键的方法–keys pattern和scan cursor,希望对大家有一定的帮助。 当我们需要遍历Redis所有key或者指定模式的k…

    2025年2月24日
    200
  • redis中批量删除key的方法

    redis是一个高性能的key-value数据库。redis中可以借助linux的xargs指令来批量删除key,也可以使用flushdb和flushall命令删除所有key。 批量删除Key Redis 中有删除单个 Key 的指令 DE…

    2025年2月24日 数据库
    200
  • 通过redis实现服务器崩溃宕机的数据恢复

    由于redis存储在内存中且提供一般编程语言常用的数据结构存储类型,所以经常被用于做服务器崩溃宕机的数据恢复处理。 服务器可以在某些指定过程中将需要保存的数据以json对象等方式存储到redis中,也就是我们常说的快照,当服务器运行时读取r…

    2025年2月24日 数据库
    200
  • redis断线重连

    应用在Redis重启、网络闪断并恢复正常后,应用必须能够自恢复,下面以Java语言的jedis客户端为例说明: 1、作为发布者 Jedis对象不能作为单例,网络闪断后该Jedis对象无法自恢复。应该每次发布消息时,从JedisPool中取J…

    2025年2月24日
    200

发表回复

登录后才能评论