首页 > 数据库 >redis 浅谈3

redis 浅谈3

时间:2024-01-13 14:22:38浏览次数:42  
标签:map 浅谈 删除 过期 redis 字典

1 redis数据结构简介

sds 链表 字典 跳跃表 整数集合  压缩列表

 

2 过期时间

redis 每个库都会保存一个结构,里面包含了 每个键的过期时间的字典结构;

redis  如何判断过期,首先检查给的键是否在过期字典中, 如果在,那就获取过期时间,在检查当前Unix时间戳是否大于键的过期时间

 

3 过期键如何删除,有三种策略

   1 定时删除,设置键的过期时间同时,设置一个定时器,定时器在过期时执行删除键的删除操作

   2 惰性删除,在每次需要访问键的时候,检查键是否过期,过期了就删除

   3 定期删除,每隔一段时间,就对数据库进行异常检查,删除里面的过期键

  如何选择,需要评估,定时删除需要大量的cpu 资源, 惰性删除可能会导致大量的内存浪费。定期删除是一个折中方案,具体策略待后续实践更新。。。。。

 

4 redis是如何方位 一个map 对象的

    个人理解:首先redis 中保存的数据都是 key-value  键值对,通过key 找到 对应的map 对象,这个需要查找字典 ,找到 值为  map 的对象;

     map对象保存在redis的结构为字典

 

标签:map,浅谈,删除,过期,redis,字典
From: https://www.cnblogs.com/jiangvtn/p/17962318

相关文章

  • 浅谈6种流行的API架构风格
    前言API在现代软件开发中扮演着重要的角色,它们是不同应用程序之间的桥梁。编写业务API是日常开发工作中最常见的一部分,选择合适的API框架对项目的成功起到了至关重要的作用。本篇文章将浅谈一下当前6种流行的API架构风格的优点、缺点以及适用场景。6种流行的API架构风格图SOAP......
  • Redis持久化之RDB和AOF
    Redis是基于内存的,内存中的信息断电丢失,有时需要持久化来解决这个弊端。在之前的文章中Shiro中使用Redis管理session-东方来客-博客园(cnblogs.com)使用了Redis管理Shiro的session。想要配置Redis持久化不是在Maven项目中,而是要通过redis.conf配置来影响Redis,这里通过Doc......
  • 玩转Redis:哨兵模式揭秘,带你骑上“哨兵战车”
    摘要:大家好!今天我们要聊一聊Redis的哨兵模式。说到Redis,相信很多人都对它的高性能、高可靠性留下了深刻的印象。而在这众多强大的功能中,哨兵模式无疑是一个备受关注的话题!哨兵模式在Redis中的作用就像是一支战车部队,能够时刻监控并保护我们的Redis集群。当集群中的某个主节点发生......
  • Redis分布式锁的Java实现之道
    摘要:在当今的微服务架构中,分布式锁是一个非常重要的概念。它允许我们在多个服务之间同步操作,确保数据的一致性和完整性。而Redis作为一种高性能的内存数据存储系统,常常被用来实现分布式锁。一、分布式锁的基本概念在分布式系统中,多个节点可能同时访问和修改共享资源。如果没有适......
  • Redis哨兵模式:什么是哨兵模式、哨兵模式的优缺点、哨兵模式的主观下线和客观下线、投
    什么是哨兵模式哨兵模式是Redis的高可用解决方案之一,它旨在提供自动故障转移和故障检测的功能。在传统的Redis部署中,单个Redis节点可能成为单点故障,一旦该节点宕机,整个系统将不可用。为了解决这个问题,哨兵模式引入了多个Redis节点,其中一个节点被选为主节点,其他节点作为从节点。......
  • Spring Boot整合Redis:实现高效缓存管理
    在现代的Web应用开发中,利用缓存来提升应用性能是一种常见的做法。Redis作为一个高性能的键值数据库,被广泛应用于缓存场景中。本文将详细介绍如何在Java中使用SpringBoot框架整合Redis,实现高效的缓存管理。什么是Redis?Redis是一个开源的内存数据结构存储系统,它支持多种类型的数据......
  • 无涯教程-Redis - TIME 命令函数
    RedisTIME命令以两个项目列表的形式返回当前服务器时间-一个Unix时间戳和在当前秒中已经经过的微秒数。TIME-返回值包含两个元素-当前时间(以UNIX时间戳格式表示),以秒为单位。当前这一秒钟已经逝去的微秒数。TIME-语法以下是RedisTIME命令的基本语法。redi......
  • 无涯教程-Redis - SYNC 命令函数
    RedisSYNC命令用于将从站同步到主站。SYNC-返回值返回字符串内容。SYNC-语法以下是RedisSYNC命令的基本语法。redis127.0.0.1:6379>SYNCSYNC-示例redis127.0.0.1:6379>SYNCEnteringslaveoutputmode...(pressCtrl-Ctoquit)SYNCwithmaster,......
  • 无涯教程-Redis - SLOWLOG 命令函数
    RedisSlowLog是一个用于记录超过指定执行时间的查询的系统,执行时间不包括与客户端交谈,发送答复等之类的I/O操作,而是实际执行命令所需的时间。您可以使用以下两个参数配置慢速日志:slowloglog-slower-than告诉Redis执行命令的时间(以微秒为单位)要超过多少秒才能被记录下来。请......
  • 无涯教程-Redis - SAVE 命令函数
    RedisSAVE命令执行数据集的同步保存,从而以RDB文件的形式生成Redis实例内部所有数据的时间点快照。SAVE-返回值成功返回OK。SAVE-语法以下是RedisSAVE命令的基本语法。redis127.0.0.1:6379>SAVESAVE-示例redis127.0.0.1:6379>SAVEOK参考链接https://......