Redis问题备忘录

Redis --- 基础篇 Redis基础 阅读详情

📌Redis 教程 | 菜鸟教程 (runoob.com)

1、setIfPresent和setIfAbsent的区别

setIfAbsent,对应key不存在时才进行set操作,返回true
setIfPresent,对应key存在时才进行set操作,返回true

2、redis热点数据淘汰策略

当redis使用的内存超过了设置的最大内存时,会触发redis的key淘汰机制,在redis 3.0中有6种淘汰策略:

  • noeviction: 不删除策略。当达到最大内存限制时, 如果需要使用更多内存,则直接返回错误信息。(redis默认淘汰策略)
  • allkeys-lru: 在所有key中优先删除最近最少使用(less recently used ,LRU) 的 key。
  • allkeys-random: 在所有key中随机删除一部分 key。
  • volatile-lru: 在设置了超时时间(expire )的key中优先删除最近最少使用(less recently used ,LRU) 的 key。
  • volatile-random: 在设置了超时时间(expire)的key中随机删除一部分 key。
  • volatile-ttl: 在设置了超时时间(expire )的key中优先删除剩余时间(time to live,TTL) 短的key。

场景:

数据库中有1000w的数据,而redis中只有50w数据,如何保证redis中10w数据都是热点数据?

方案:

限定 Redis 占用的内存,Redis 会根据自身数据淘汰策略,留下热数据到内存。所以,计算一下 50W 数据大约占用的内存,然后设置一下 Redis 内存限制即可,并将淘汰策略为volatile-lru或者allkeys-lru。

设置Redis最大占用内存:

打开redisd的config配置文件,修改最大占用内存以及修改淘汰策略

maxmemory 3072M
maxmemory-policy volatile-lru

3、TODO待补充

spring-data-redis实现分布式锁 Redis由于数据存储在内存(随机访问内存要比硬盘快100万倍),下面是Google 工程师Jeff Dean在分布式系统PPT中给出的各种访问速度参考值: 访问方式 耗时 L1 cache reference 读取CPU的一级缓存 ~0.5 ns L2 cache reference 读取CPU的二级缓存 ~7ns Mutex lock/unlock 互斥锁\解锁 ~10... 阅读详情

相关推荐

状态树搜索算法-------------抽象问题与建模思想(三只水桶分水问题)

今天看《算法的乐趣》第五章,作者提出问题:把三桶个水桶等分8升水的问题,有8,5,3L的水桶分8升水,最后的结果要在8L水桶和5L水桶中分别有4L水。 首先要定义问题的解,并分析解空间范围和拓扑结构,然后根据解空间的范围和拓扑结构设计遍历搜索算法。 建立数学模型,根节点为初始状态,叶子节点可能是最终状态,也可能是某个无法转换的最终中间状态,有多少个最终状态叶子节点就要多少种答案

5054

springboot-redis中setIfAbsent和setIfPresent区别

spring-data-redis2.3.1版本中: public Boolean setIfAbsent(K key, V value, long timeout, TimeUnit unit) { byte[] rawKey = this.rawKey(key); byte[] rawValue = this.rawValue(value); Expiration expiration = Expiration.from(timeout, un...

beihenanfei的专栏 1万+

【Go语言实战】(3) Gin + Gorm 简单备忘录 | 含接口文档

Go语言实战:TodoList 备忘录

面向生活编程 6140

Redis实现计数器功能(接口最大访问次数检查)

Redis实现计数器功能(接口最大访问次数检查) 1.前言 备注:不要全部粘贴代码,这个是我练习项目的代码(基于spring-boot),主要看2和3的逻辑 1.还是一个简单的redis使用Demo,包含setIfAbsent(不存在则插入),setIfPresent(存在则更新),getExpire(获取剩余有效时间) 2.大体业务逻辑如下:检查用户请求系统的最大次数,每日最大请求次数为10. 3.也可以使用定时任务实现时效性配置(定时任务00:00执行,清空所有用户访问次数) 2.Redis配置 pom

qq_37700773的博客 4582

Acgis中实现栅格经纬度和行政区关联

目前已有意大利的shp文件,希望将意大利划分成0.1*0.1经纬度的栅格,并且关联每个栅格中心点所属的省份信息。最终希望得到的输出是一个表格,里面包含栅格的经纬度、所属省份信息。

qq_42183184的博客 3369

【HarmonyOS】ArkUI的组件扩展

ArkuI的组件扩展主要是通过等装饰器来对于一些常用的自定义组件进行封装, 来简化UI开发流程, 提高自定义组件的可复用性。

2302_79763237的博客 1169

redis命令和Spring 的RedisTemplate操作对应关系

前言 有时候熟悉了redis命令,但是用到spring的RedisTemplte的时候就又糊涂了,命令和操作是谁对谁的,我就有点晕了,所以花了点时间整理了一下。 首先,redis命令执行可以在本地环境启动redis后,再启动redis-cli的客户端来敲命令,如果不想或没有安装redis,那就可以用这个网站,可以直接执行redis命令。 我就先在这个网站上执行redis命令了。 说明 在代码中,我是使用的spring的RedisTemplate来操作的,那么就得受spring管理。 我是在一个maven项目

高山仰止,景行行止 1969

MOSFET导通电阻Rdson全解析:物理组成、公式推导与工程选型要点

在功率电子设计中,MOSFET作为核心开关器件,其导通电阻Rdson直接决定导通损耗与系统效率。从半导体物理角度看,Rdson并非单一固定值,而是由源极电阻、沟道电阻、累积层电阻、JFET区电阻、漂移区电阻及衬底电阻等多个分量串联而成,并随栅极驱动电压、结温以及击穿电压等级发生显著变化。理解Rdson的物理来源与数学表达,有助于工程师在低压大电流与高压小电流等不同场景中合理选型、优化驱动电压并准确估算热损耗。文章从沟道电阻公式出发,深入剖析耐压与导通电阻的物理矛盾、温度系数的影响规律,并给出数据手册参数的正

weixin_29163857的博客 198

2024年最全当代程序员必备技能(算法)之:递归详解(1),java技术专家面试题

其他的内容都可以按照路线图里面整理出来的知识点逐一去熟悉,学习,消化,不建议你去看书学习,最好是多看一些视频,把不懂地方反复看,学习了一节视频内容第二天一定要去复习,并总结成思维导图,形成树状知识网络结构,方便日后复习。这里还有一份很不错的《Java基础核心总结笔记》,特意跟大家分享出来目录:部分内容截图:本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录需要这份系统化的资料的朋友,可以点击这里获取turn 1;

2301_82241647的博客 677

自锁电路设计

Hi,uu们,是不是经常要用到自锁电路,通常不是使用555芯片就是用比较器来做自锁,今天我们来简单看下自锁电路的设计.图1采用了比较器构建了一个自锁电路,采用低电平复位,当需要复位的时候志需要将反向端的二极管拉低一下即可,免去 三极管控制同相端和电源短接的麻烦。图1:比较器构建的自锁电路也可以使用555去构建,如下图2所示.图2:使用555构建的自锁电路工作原理见555的真值表,真值表如表1所示.表1:555电路真值表相对来说555还是比较贵,所以我就想能不能有个便宜的方法做个自锁电路,构建电路如下图3所示

weixin_43884675的博客 7069

主流算力卡性能对比分析

超大规模AI训练/HPC:优先选择NVIDIA H100或AMD MI300X,需关注显存带宽和多卡互联能力。企业级AI训练:NVIDIA A100性价比更高,生态成熟。国内自主可控需求:华为昇腾910B是首选,支持液冷和低功耗设计。本地AI推理/游戏:NVIDIA RTX 4090或RTX 5090性价比突出,但需注意显存容量限制。边缘计算/低功耗场景:华为昇腾310或清微智能TX536(能效比6.3TOPS/W@INT8)更合适。

m0_69867914的博客 7806

Redis备忘录

看到别人写了不少redis记录,我也写下总结。 0. redis简介 简单介绍redis,redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。 1. redis安装 使用centos7时间比较长,我就介绍如何在centos7上安装redis,请参考 由于我的测试机器环境下已经安装过了redis,就不具体演示了,但要留意它的配置文..

董广明的博客 490

玩转ubuntu18 --机器视觉方面(yolo算法识别及摄像头和cmake问题解决)

玩转ubuntu18 --机器视觉方面(yolo v3算法识别) 1.YOLO的简介 工作原理 先前的检测系统重新调整分类器或本地化器以执行检测。他们将模型应用于多个位置和比例尺的图像。图像的高分区域被视为检测。 我们使用完全不同的方法。我们将单个神经网络应用于整个图像。该网络将图像划分为区域,并预测每个区域的边界框和概率。这些边界框按预测概率加权。 我们的模型比基于分类器的系统具有几个优势。它在测试时间查看整个图像,因此其预测由图像中的全球上下文提供信息。它还通过单一网络评估进行预测,这与R-CNN等系统

qq_53951823的博客 1556

【六祎 - Note】Redis缓存设计模型,备忘录;

from to :

六祎的博客 252

硬件工程师学习-硬件的单元测试(UT)(1)电源与时钟的测试

我们在设计的时候,通过控制电源的上电使能管脚或者通过MOSFET、或者专用的电源上电控制芯片,控制不同电源的上电时序,以确保每个芯片的电源上电时序是满足芯片的要求的。我们在测试的时候,需要对相关的要求一一测试,以确认每个上电时序满足要求的。在维基百科中,相位噪声的定义是“时域不稳定性(抖动)导致波形在相位上发生快速、短期、随机的波动,这种波动在频域中的表现即为相位噪声”。单元测试,一般是指基于开发人员自行开展的功能测试及各个功能单元的单元测试,是硬件信号级的测试,分为基本测试和信号完整性测试。

qq_43416206的博客 4037

《ESP32单片机基础入门》第2章:开发环境搭建

【代码】《ESP32单片机基础入门》第2章:开发环境搭建。

2301_79143213的博客 582

基于springboot备注小程序设计与开发(源码+lw+部署文档+讲解等)

在碎片化信息时代,用户对轻量化、便捷化的备注管理需求日益增长,传统备忘录工具存在多端同步差、分类管理低效、检索不便、场景适配性弱等痛点,难以满足移动端高频次的备注记录与查阅需求。本课题设计并实现基于 SpringBoot 的备注小程序,打造适配微信生态的轻量化备注管理工具,聚焦用户日常备忘、待办、灵感记录等核心场景。 系统采用 “微信小程序前端 + SpringBoot 后端” 架构,前端依托微信小程序轻量化、即开即用的特性,适配用户移动端碎片化操作习惯,支持极简的备注录入、编辑与查阅交互;后端基于 Spr

优快云毕设辅导道祖第一人、全网粉丝50W+,专注于大学生项目实战开发,讲解,毕业答疑辅导,高校老师/讲师/同行合作。以及产品测评宣传、工具推广等合作。同时招收学生代理、校园代理。 1013

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

备忘录系统——数据库篇

Person In Your Note 数据库(MySQL) MySQL是关系型数据库,Redis是非关系型数库 MySQL主要用于存放持久化数据,将数据存储在硬盘当中,读取速度比较慢 Redis是缓存数据库,将数据存储在缓存当中,读取速度较快,能够大大提高运行效率,但是保存时间有限 为了将你备忘录内容长期保存到本地当中,所以采用MySQL 数据库设计 创建一个数据库 create datab...

qq_41595735的博客 1132

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

redis利用备忘录

漏洞原理:漏洞存在于4.x、5.x版本中,Redis提供了主从模式,主从模式指使用一个redis作为主机,其他的作为备份机,主机从机数据都是一样的,从机负责读,主机只负责写,通过读写分离可以大幅度减轻流量的压力,算是一种通过牺牲空间来换取效率的缓解方式。靶机的redis存在未授权访问,并且开启了web服务,知道了web目录的路径,并具有文件读写增删改查的权限,即可通过redis在指定的web目录下写入一句话木马,用菜刀连接可达到控制服务器的目的。>\n\n\n" ----> \n 为换行,区分开来。

RanQ的博客 1315

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

redis备忘录

遇到的问题: 今天运行Redis时发生错误,错误信息如下: (error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please c...

focus on security 303

设计模式18之备忘录模式

背景 我们直接开篇点题,备忘录模式解决什么问题呢?主要用于实现撤销功能。很多软件都有撤销功能,只需要按Ctrl + Z即可实现撤回。数据库也有回滚操作。游戏中有存档功能。竞速类游戏有时间回溯功能。 备忘录模式记录一个对象的内部状态,如果我们需要撤销当前操作。就能使数据回复到原来的状态。 什么是备忘录模式 “ Without violating encapsulation,capture and externalize an object's internal state so that the ob

wujialv的博客 257

用Java实现Redis的RDB机制,一个专为系统数据安全而来的设计模式

它的宗旨就是,备忘录管理者角色,在保证备忘录数据安全性的前提下,通过备忘录角色,备份备忘录源角色的当前状态,以便在需要的时候,恢复备份备忘录源角色的状态。即使是备忘录管理者角色也不行。答案就是两个字,“安全”,为了所备份的数据的安全性,备忘录角色的接口,被称为“窄接口”,越窄越好,窄到极致,就成了标记接口,当然,不是必须的,如果有些数据可以暴露,可以提供一些接口。备忘录模式,就是在保障数据安全性的前提下,记录对象某个时刻的内部状态(可以是全部,也可以是一部分),以便以后,可以随时恢复对象的内部状态。

weixin_49307478的博客 662

设计模式-备忘录模式

备忘录模式

weixin_45972995的博客 498

go 实现的一个TodoList备忘录

go 实现的一个 todoList 备忘录 笔记, 学习 b 站上的 up @小生凡一

2301_81268108的博客 1822

大白话说Java设计模式-41-备忘录模式(源码剖析篇)

本文从Spring、JDK、数据库源码角度深度剖析备忘录模式的工业级实现,详解Spring StateMachinePersist状态持久化接口、RedisStateMachinePersist跨进程存储实现,深入解读JDK Serializable自动序列化机制与ObjectOutputStream/ObjectInputStream的快照读写逻辑,拆解MySQL Undo Log事务回滚、MyBatis一级缓存的备忘录设计思想,总结框架作者选择备忘录的核心设计哲学,提供购物车多版本快照、订单状态机持久化

Java后端 | AI智能体应用实战派 | 电脑技能行家 320
上一篇: Redis实现分布式锁
下一篇: Redis案例:轮播信息
strap
博客等级 码龄3年 60粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值