删除策略那些有效期到了的数据,Redis并不是真的一到期立刻就把它删了,因为删除数据相比于其他客户端命令并不那么重要,这些数据会暂留在内存中,最终根据Redis的删除策略删除好的删除策略应该是尽量寻找内存占用和CPU占用之间的平衡点,而不是单纯确保过期数据被删除,顾此失彼会造成Redis整体性能的下降,引起服务器宕机或内存泄露。Redis 有三种删除策略:定
......
363
0
0
2022-11-25
RedisRedis是什么,为什么用Redis 是一个开源免费的,遵循BSD协议,是一个高性能(NOSQL)的 key-value数据库, 由C语言编写。提供多种语言的API,SQL: 关系型数据库NOSQL: 非关系型数据库(为了解决大规模数据集合多种数据种类带来的挑战,尤其是大数据应用难题)NoSQLNoSQL数据库的四大分类键值型(Key-Value)
......
441
0
0
2022-11-25
Redis 客户端和服务端之间是采用 TCP 协议进行通信的,是基于 Request/Response 这种一问一答的模式,即请求一次响应一次。普通模式我们先来看下普通模式下,一条 Redis 命令的简要执行过程:客户端发送一条命令给 redis-server,阻塞等待 redis-server 应答redis-server 接收到命令,执行命令redis-
......
452
0
0
2022-11-17
我们知道Redis是支持事务的,但是它里面的事务为什么不支持回滚呢?1.在Redis中,命令只会因为错误的语法而失败,或者是命令用在了错误类型的键上面;也就是说,从实用的角度说,失败的命令是由编译错误造成的,而这些错误应该在开发过程中被发现,而不应该出现在生产环境中。2.因为不需要对回滚进行支持,所以Redis的内部可以保持简单且快速。3.有种观点认为,Re
......
394
0
0
2022-11-16
一、基于 Redis 分布式锁优化基于 setnx 实现的分布式锁存在下面问题:不可重入: 同一个线程无法多次获取同一把锁(例如方法A执行前需要获取锁,然后调用方法B,方法B中也需要获取锁)不可重试: 获取锁只尝试一次就返回 false,没有重试机制超时释放: 锁超时释放虽然可以避免死锁,但是如果业务执行耗时较长,也会导致锁释放,存在安全隐患主从一致性(读写
......
408
0
0
2022-11-15
简介关于微服务相关的分享,我都是在 Windows 10 系统下实践的,所以跟 Spring Boot 配套的软件也是在此系统上面安装的。今天跟大家介绍一下如何在 Win10 下安装 Redis,该篇是 Spring Boot 使用 Redis 的处
......
391
0
0
2022-11-12
什么是Session/Cookie用户使用网站的服务,基本上需要浏览器与Web服务器的多次交互。HTTP协议本身是无状态的,当用户的第一次访问请求结束后,后端服务器就无法知道下一次来访问的还是不是上次访问的用户。我们需要基于HTTP协议支持会话状态的机制,这样的机制可以使Web服务器从多次单独的HTTP请求中知道哪些请求是来自哪个会话的。Session与Co
......
399
0
0
2022-11-10
关于 redis 相信大家都不陌生了,之前有从 0 -1 分享过 redis 的基本使用方式,用起来倒是都没有啥问题了,不过还是那句话,会应用之后,我们必须要究其原理,知其然知其所以然今天我们来分享一下关于 redis 的存储结构的原理redis 的存储结构的原理我们都知道 redis 是一个 K-V 内存数据库,类似于 memcache ,那么一般存储这种
......
332
0
0
2022-11-08
redis 是使用 C 语言编写的,但是 C 语言是没有字典这个数据结构的,因此 C 语言自己使用结构体来自定义一个字典结构typedef struct redisDbsrc\server.h 中的 redis 数据库 数据结构/* Redis database representation. There are multiple databases ide
......
352
0
0
2022-10-31
仅为本书对Redis中跳跃表的介绍和实现。基本定义和算法会重开一篇。zset结构体代码在 7.6 章中。查找思想根据二分法,分跨度,查分值定位。大部分常用操作,如增删改查,排名,时间复杂度为平均O(logN),最坏O(N),N为跳跃表长度。大部分情况下效率可和平衡树媲美。因其实现相较平衡树较为简单,故不少程序以跳跃表来代替平衡树。它是有序集合的底层实现之一。
......
325
0
0
2022-10-29
简介简单动态字符串的英文全称为 Simple Dynamic String,简称为SDS。可以简单地理解为Redis中存储字符串的一种结构体,针对这个结构体,还有对应的很多相关函数。127.0.0.1:6379> set k1 Redis
ok
在上述示例中,k1 为键名,k1 的底层存储结构就使用了SDS。在Redis中string类型的值,底层
......
308
0
0
2022-10-21
1. 前言在高访问量的web系统中,缓存几乎是离不开的;但是一个适当、高效的缓存方案设计却并不容易;所以接下来将讨论一下应用系统缓存的设计方面应该注意哪些东西,包括缓存的选型、常见缓存系统的特点和数据指标、缓存对象结构设计和失效策略以及缓存对象的压缩等等,以期让有需求的同学尤其是初学者能够快速、系统的了解相关知识。2. 数据库的瓶颈2.1 数据量关系型数据库
......
334
0
0
2022-10-21
❝这可能是最中肯的 Redis 使用规范了(ps:文末抽奖)码哥,昨天我被公司 Leader 批评了。我在单身红娘婚恋类型互联网公司工作,在双十一推出下单就送女朋友的活动。谁曾想,凌晨 12 点之后,用户量暴增,出现了一个技术故障,用户无法下单,当时老大火冒三丈!经过查找发现 Redis 报 Could not get a resource from the
......
345
0
0
2022-10-12
虽然我们在使用 redis 缓存的时候非常的爽,它大大的提高了我们应用程序的性能和效率,尤其是数据查询方面,咱们不用直接去持久化的数据库中查询数据,而是到内存中查询数据即可事物总是有两面的,用的爽的同时,也必须面对它带来的问题,就是数据一致性的问题,这个问题,是一个权衡利弊的问题,咱们接着看redis 缓存和一些持久化的数据库配合使用的时候,会出现一些高可用
......
343
0
0
2022-10-05
什么是 Redis?1. Redis is in the family of databases called key-value stores.2. Redis ( Remote DIctionary Server ) 通常被称为数据结构服务器。键值存储的本质The essence of a key-value store is the ability t
......
537
0
0
2022-09-27