redis知识(一)

set_output_delay的本质 阅读详情

redis基础知识

好记性不如烂笔头!

redis事物

单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。

相关命令

1)MULTI
MULTI 开始一个事务, 然后将多个命令入队到事务
2)EXEC
命令触发事务
3)DISCARD
事物回滚,将之前对列中的命令清除
4)WATCH
当某个事务需要按条件执行时,就要使用这个命令将给定的键设置为受监控的,在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断
5)UNWATCH
清除所有先前为一个事务监控的键

如下命令执行(测试multi、exec命令):
在一个终端1中正常执行如下
在这里插入图片描述
测试两个终端下,添加watch监控,查看执行结果
终端1执行
在这里插入图片描述
终端2改变name的值
在这里插入图片描述
终端1执行exec
在这里插入图片描述
发现事物没有执行成功,因为监控到name的值出现了改变,所以进行了事物的回滚!

缓存击穿、缓存穿透、缓存雪崩

参考文章如下:
原文链接1
前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。

缓存击穿

key对应的数据存在,但在redis中过期,此时若有大量并发请求过来,这些请求发现缓存过期一般都会从后端DB加载数据并回设到缓存,这个时候大并发的请求可能会瞬间把后端DB压垮。
办法:
热点数据到期导致大量数据打到数据库上。
加上互斥锁,就是在缓存失效的时候(判断拿出来的值为空),不是立即去load db,而是先使用缓存工具的某些带成功操作返回值的操作(比如Redis的SETNX)去set一个mutex key,当操作返回成功时,再进行load db的操作并回设缓存;否则,就重试整个get缓存的方法。

缓存穿透

key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库。
办法:
布隆过滤器,将所有可能存在的数据哈希到一个足够大的bitmap中,一个一定不存在的数据会被 这个bitmap拦截掉,从而避免了对底层存储系统的查询压力。
将空设置进缓存,如果一个查询返回的数据为空(不管是数据不存在,还是系统故障),我们仍然把这个空结果进行缓存,但它的过期时间会很短,最长不超过五分钟。

缓存雪崩

当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失效的时候,也会给后端系统(比如DB)带来很大压力。

办法:
缓存的失效时间错开,加入随机的一个时间,保证不都在同一时间打到数据库上
加上锁,同缓存穿透

全新RT-DETR 有效涨点改进目录 | 包含各种卷积、主干改进、各种注意力机制、Neck特征融合改进、损失函数、AIFI创新改进、独家创新、小目标检测、特殊场景检测等最全大论文及小论文必备创新改进点 《全新最全RT-DETR涨点改进专栏》提供500+种创新改进方案,涵盖卷积、注意力机制、主干网络等模块优化,适用于PCB检测、工业缺陷检测等场景。专栏包含顶会论文改进点、数据集增强方法、热力图可视化等实用功能,帮助科研人员快速提升模型性能。提供完整环境配置指南(Python3.10+Pytorch2.5.1)和训练教程,支持不同版本RT-DETR模型。定期更新涨点策略,配套QQ答疑群免费指导,适合从入门到发论文全流程需求,特别推荐给目标检测领域的研究生和工程师。 阅读详情

相关推荐

Ubuntu本地部署CodeX编程助手:CLI配置全指南

本地AI编程助手是当前开发者关注的核心技术趋势,指在不依赖云端API、保障代码隐私前提下,于本地环境运行具备代码理解、多语言补全与知识库检索能力的智能辅助工具。其技术原理涉及模型加载、API网关编排、向量数据库集成及系统级资源调度,关键价值在于可控性、低延迟与合规性。典型应用场景包括企业内网DevOps提效、边缘设备嵌入式开发支持,以及敏感代码场景下的离线编程增强。本文聚焦Ubuntu系统下基于CLI的手动配置路径,深入解析Ollama服务注册、Node.js版本锁定、API Key环境隔离及Qwen2.5

weixin_26804345的博客 600

Redis知识总结[一]

目录Redis安装Redis数据类型key键五大数据类型String(字符串)List(列表)set(集合)Hash(哈希)Zset(有序集合)新数据类型Bitmaps Redis安装 Redis数据类型 key键 查看当前库中所有的key keys * 判断某个key是否存在 exists key 将当前数据库的key移动到给定的数据库db当中 move key db 例如 :move k1 8 是将k1从当前数据库移动到8号数据库中 查看当前key所存储的值的类型 type k

影佑的博客 1731

FreeRTOS-Plus-CLI在STM32F429上的高效移植与调试技巧

本文详细介绍了如何将FreeRTOS-Plus-CLI高效移植到STM32F429平台,并分享关键的调试技巧。内容涵盖使用HAL库进行底层驱动适配(特别是DMA+IDLE中断方案)、工程集成、自定义命令开发以及常见问题解决方案,旨在帮助开发者快速为嵌入式系统添加强大的命令行调试接口,提升开发与维护效率。

weixin_29224309的博客 336

Redis 一、知识点

命令五:set\zset :sadd \scard \sismember \smembers \smove \srem \sdiff \sinter \sunion \sdiffstore。rdb 快照,redis通过fork()一个子进程进行持久化操作,子进程拥有相同的数据集,子进程将内存中的数据序列化,写入临时RDB文件,写入完成,替换RDB文件。# volatile-lfu -> 对设置过期值的key根据lfu进行淘汰,最少频率使用,一段时间的访问频率。自动触发,save m n。

m0_46271812的博客 833

机器学习入门基础 | 基于python的高光谱图像特征挖掘:PCA + 形态学属性处理可视化实战

本文介绍了一种基于PCA和形态学操作的高光谱图像特征提取方法。通过主成分分析降低数据维度,再运用面积开闭操作增强空间结构特征,有效去除噪声并填补孔洞。实验采用WHU-HI-HanChuan数据集,提供完整的Python实现代码,包括数据加载、PCA降维、形态学处理及结果可视化等步骤。该方法能够显著改善图像质量,为后续分类和变化检测任务提供更好的特征输入。实验结果表明,不同阈值的形态学处理能呈现不同程度的空间结构增强效果,对区域生长、分割和聚类等应用具有重要价值。

lestatlu的博客 1047

2025资源从哪里来!

研究网络通信中的安全问题,如VLAN划分、路由协议(静态、动态如OSPF、BGP)、NAT转换、AAA认证、访问控制列表(ACL)等。‌Wi-Fi安全设置‌、‌密码破解原理‌(仅用于合法测试或教育目的)、‌常见Web安全问题‌如SQL注入、XSS跨站脚本攻击等的防范措施。在这个网站你可以找到你对应的专业-对应的路线-对应的资源-对应的百度网盘里面全是免费的资源------------------惊喜不?‌防火墙配置与策略‌、‌入侵检测与防御系统(IDS/IPS)‌、‌端口扫描与漏洞扫描技术‌等。

qq_56248592的博客 1906

Redis学习 知识总结 一

setnx keykey不存在,才设置,相当于添加操作,时间复杂度O(1)。setxx keykey存在,才设置, 相当于更新操作,时间复杂度O(1)。9.mset:批量设置key-value,时间复杂度O(n)。10.mget:批量获取key,原子操作,时间复杂度O(n)。11.并返回旧的value,时间复杂度O(1)。12.:将value追加到旧的value后面,时间复杂度O(1)。13.strlen key: 返回字符串的长度(注意中文的情况),时间复杂度O(1)。14.

2401_86436885的博客 887

国家基本比例尺分幅土地利用现状图制作

本次主要解决的问题是如何构建脚本快速生成所涉及区域标准国家基本比例尺分幅,然后制作土地利用现状图模板,套用模板生成标准分幅土地利用现状图。

xyt1172228177的博客 2459

Redis 知识点一

1多线程并发修改的问题,例:线程A更新数据库(值V1→V2)。线程B更新数据库(值V2→V3)。线程B更新缓存(值V3)。线程A更新缓存(值V2)。2 更新缓存会面临多次无效写操作(多次对该数据进行写时,缓存中的值会多次update,实际有意义的值只有最后一次写时更新的值),而删除逻辑就更加简单。

weixin_43725192的博客 964

基于matlab的CNN手写数字图像矫正系统

CNN 是一款强大的图像特征抽象和提取工具,常用于图像分类识别,并取得了较为理想的效果。我们通过 MATLAB 可以方便地设计不同结构、不同深度的 CNN 进行图像分类,最后一层一般设置为分类层(ClassificationLayer)进行类别标签的输出。如果我们将最后一层设计为回归层(RegressionLayer),则可以将其应用于对连续数据的预测,这对于曲线拟合、预测分析都有重要的意义。% 自定义 CNN 回归网络结构layers = [% 输入% 卷积% 池化% 池化% 卷积。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 677

YOLOv5改进 | 多尺度特征提取 | 结合多样分支块及融合的高级设计(CVPR2021)

YOLOv5改进 | 多尺度特征提取 | 结合多样分支块及融合的高级设计(CVPR2021)

qq_44224801的博客 2068

【Redis基础知识一】

Redis 是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。Redis 提供了多种数据类型来支持不同的业务场景,比如 String(字符串)、Hash(哈希)、 List (列表)、Set(集合)、Zset(有序集合)、Bitmaps(位图)、HyperLogLog(基数统计)、GEO(地理信息)、Stream(流),并且对数据类型的操作都是原子性的,因为执行命令由单线程负责的,不存在并发竞争的问题。

m0_74120645的博客 718

打脸来的太快了,又发现一个Trae的宝藏功能--内置浏览器可以指定机型来显示前端界面

今天给大家分享一个Trae的实用功能,就是SOLO模式下内置浏览器可以指定不同的手机、平板机型来查看前端页面显示效果,我感觉这个功能很棒,忍不住就跟大家分享一下。

cpp加油站的专栏 6567

一图带你了解Redis所有知识点

ITbirdss的博客 244

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Redis基础知识【一】

Redis基础知识1. 概述1.1 Redis的优缺点2. 数据类型3. 持久化 1. 概述   Redis是一个C语言编写、开源、可持久化、高性能的非关系型(NOSQL)键值对数据库。   Redis支持5种数据结构,字符串、List、Map、Set、Zset。 1.1 Redis的优缺点   优点:   (1). 读写性能高,读可达到11w/s,写可达到8.1w/s。   (2). 性能高,读可达到11w/s,写可达到8.1w/s。 2. 数据类型 3. 持久化 ...

qq_30306577的博客 224

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

redis知识总结(一)

Redis(REmote DIctionary Server)是一个基于 C 语言开发的开源 NoSQL 数据库。与传统数据库不同的是,Redis 的数据是保存在内存中的(内存数据库,支持持久化),因此读写速度非常快,被广泛应用于分布式缓存方向。并且,Redis 存储的是 KV 键值对数据。为了满足不同的业务场景,Redis 内置了多种数据类型实现(比如 String、Hash、Sorted Set、Bitmap、HyperLogLog、GEO)。

weixin_44613720的博客 790

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

一、Redis基础知识

一、Redis基础知识 1.1 Redis简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。 一般项目都可以使用它。 1.2 Redis资料 Redis的资料还是比较多的,首先推荐Redis中文网站的资料,其他的

enjoysummer的博客 254

【redis一】基础入门知识

redis基础认识与安装

好记性不如烂笔头 873

Redis知识点(一)

redis面试题及知识点总结第一期来啦,超详细超全面覆盖!!!面试过过过!!!

2501_91949549的博客 510

【Redis核心知识 一】Linux中搭建Redis环境

今天恰逢1024盛事,为了共襄盛举,决定把Redis相关知识梳理一下,纪念一波这个节日。之前的学习都是基于windows做的简单的数据结构、指令的一些学习,从今天开始学习下Redis的高级用法。 Redis的Linux安装 其实安装起来很简单,之前我就搭建过分布式的Centos7的虚拟机集群,感兴趣的朋友可以参见之前的一篇blog,详细介绍了如何按照、配置和操作虚拟机【分布式集群搭建 一】虚拟机配置(VMware+Centos7+SecureCRT+AppNode),这里就不再赘述。有了Linux的虚拟机环

MaoLin Tian's Blog 734

Redis知识整理一

Redis基本数据结构、高级数据结构、缓存问题等知识总结

woniu_buhui_fei的博客 404

Redis知识点总结(一)

文章目录Redis简介数据类型stringlistsethashzset数据结构字典哈希表和哈希表节点字典哈希算法rehash渐进式rehash跳表基本结构查找过程随机层数插入过程压缩列表ziplist结构entry结构级联更新 Redis简介 Redis是一个高性能键值对(key-value)的内存数据库,可以用作数据库、缓存、消息中间件等。它是一种NoSQL(not-only sql,泛指非关系型数据库)的数据库。 Redis为什么这么快? 完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。

小望没烦恼的博客 1549

Redis知识点学习(一)

CAUTION]造成阻塞的主要原因是KEYS命令需要扫描整个数据库来查找匹配特定模式的所有key。如果数据库中的key数量非常多,而且使用的模式比较宽泛(例如*匹配所有key),那么KEYS命令就需要遍历数据库中的每一个key来检查是否匹配,这会消耗大量的时间和计算资源。在这个过程中,Redis是单线程的,意味着在执行KEYS命令期间,Redis无法执行其他任何命令。因此,如果KEYS命令执行时间过长,就会导致Redis服务器在这段时间内无法响应其他客户端的请求,造成阻塞。

weixin_40539956的博客 1700

【Redis基础知识 一】Redis基本概念

NoSql概述 为什么需要NoSQL, web1.0,是基于浏览器,用户通过浏览器获取内容信息; web2.0是基于1.0,增加了用户与系统的交互,使用者既是网络内容的获取者,也是网络数据的制造者,例如:论坛、博客、微博等相关社交类型的平台。 在web2.0需要依据用户个性化需要高并发读写,关系型数据库读还可以,写就很难做到了。社区 海量数据的高效率存储和访问,类似facebook, 对于数据库...

MaoLin Tian's Blog 1153

Redis 基础知识一

第一 Redis 简介 1.1 什么是Redis Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 Redis支持数据的备份,即master-slave模式的数据备份。 1.2 R

zhouzhiwengang的专栏 233

Redis知识点学习总结一

Redis 是什么 Redis 是 C 语言开发的一个开源的(遵从 BSD 协议)高性能键值对(key-value)的内存数据库,可以用作数据库、缓存、消息中间件等。 它是一种 NoSQL(not-only sql,泛指非关系型数据库)的数据库。 Redis 作为一个内存数据库,性能优秀,数据在内存中,读写速度非常快,支持并发 10W QPS。单进程单线程,是线程安全的,采用 IO 多路复用机制。丰富的数据类型,支持字符串(strings)、散列(hashes)、列表(lists)、集合(sets)、有序集

weixin_51259107的博客 205
上一篇: mysql锁总结
下一篇: nginx总结
sun_code
博客等级 码龄12年 6粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值