Redis
文章平均质量分 50
想飞的盗版鱼
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis大key问题
大key不仅仅是占用内存而已,如果是仅仅内存的问题 那么扩大内存就好了。 怎么解决bigkey? 详情看以下这个链接:https://www.cnblogs.com/xgqfrms/p/13601959.html1.拆分多个key: 2.存到hash中 用hget 但删除会有性能问题redis hash和桶的结构用偏移量存桶里,hash算法 可以定位桶的位置 需要区分用户来源的场景: 推送违约订单需要区分来源1.比如电柜电量大key: 解决方法:。———以电柜编号最后一位分散到不同key。比如电柜编号为10原创 2023-04-08 16:26:03 · 734 阅读 · 0 评论 -
redis--过期删除策略
1.过期数据: 2.删除策略: 2.1.定时删除: 2.2 惰性删除: expireIfNeeded这个函数,在调用任何对数据操作的时候,内部都将先调用这个函数,这个函数就是检查是否数据过期的,也就是所有的get操作都与这个函数挂钩的,也就是只要拿数据 都是执行这个函数。 2.3 定期删除: 简单来说 ,就是每秒中执行若干次serverCron操作,在这个serverCron操作中会对所有的数据进行轮训访问(databaseCron操作),在访问的时候会对每一个库中的key进行轮训原创 2022-02-27 17:30:11 · 189 阅读 · 0 评论 -
redis事务+锁
1.事务的基本操作: 2.事务的注意事项: 3.锁:原创 2022-02-27 16:16:07 · 79 阅读 · 0 评论 -
Redis(十一)--关于redis的一些常见问题(2)
Redis(十一)–关于redis的一些常见问题(2) 这篇博士的内容主要包括: 1,watch命令和基于cas乐观锁 2,什么是缓存和数据库双写不一致,怎么解决? 3,关于持久化: 几个链接: 1,watch命令和基于cas乐观锁 Redis 通过MULTI 、EXEC、WATCH等命令来实现事物功能。事物提供了一种将多个命令请求打包,然后一次性、按顺序的执行多个命令的机制,并且在事物执行期间,服务器不会中断事物而去执行其他客户端的命令请求,它会将事物中所有的命令都执行完毕。Redis事物不支持回滚操原创 2020-06-23 18:53:11 · 309 阅读 · 0 评论 -
Redis(十)--关于redis的一些常见问题
Redis(十)–关于redis的一些常见问题 1,redis的线程模型是什么? Redis确实是单进程单线程的模型,因为Redis完全是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章的采用单线程的方案了(毕竟采用多线程会有很多麻烦) ==>Redis是单线程的,为什么还能这么快吗? 第一:Redis完全基于内存,绝大部分请求是纯粹的内存操作,非常迅速,数据存在内存中,类似于HashMap,Ha原创 2020-06-23 13:00:58 · 882 阅读 · 0 评论 -
Redis(九)--Redis集群
Redis(九)–Redis集群 一、什么是Redis集群 Redis 集群是一个分布式(distributed)、容错(fault-tolerant)的 Redis 实现, 集群可以使用的功能是普通单机 Redis 所能使用的功能的一个子集(subset)。 Redis 集群中不存在中心(central)节点或者代理(proxy)节点, 集群的其中一个主要设计目标是达到线性可扩展性(linear scalability)。 Redis 集群提供了一种运行 Redis 的方式,其中数据在多个 Redis 节原创 2020-06-22 19:09:20 · 479 阅读 · 0 评论 -
Redis(八)--Redis哨兵模式
Redis(八)–Redis哨兵模式 这篇博客主要内容包括: 一、哨兵模式 二、 Redis Sentinel 架构 三、安装与配置: 3.1 配置开启主从节点 3.2 配置开启sentinel监控主节点(sentinel是特殊的redis) 四、java客户端 五、三个定时任务 六、主观下线和客观下线 七、领导者选举 八、故障转移 九、哨兵(Sentinel)总结 一道题: 哨兵们是怎么感知整个系统中的所有节点(主节点/从节点/哨兵节点)的? 一、哨兵模式:原创 2020-06-21 22:24:34 · 419 阅读 · 0 评论 -
Redis(七)--Redis的复制原理
Redis(七)–Redis的复制原理 这篇博客主要包括的内容: 1.关于复制: 复制是什么? 能干嘛? 怎么用? 复制的缺点 2.主从复制: 概述 面临的问题 解决方法 什么是主从复制 主从复制的作用 主从复制的启用 主从复制的原理 3.全量复制与部分复制 4.主从复制常见问题: 配置不一致 规避全量复制 规避复制风暴 5.redis的同步机制了解吗? 6.读写分离模型了解吗? 一、关于复制? 1.复制是什么? 行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到原创 2020-06-21 18:02:40 · 350 阅读 · 0 评论 -
Redis(六)--Redis持久化方式+原理+区别
Redis(六)–Redis持久化方式+原理+区别 一、持久化: 什么是持久化? Redis所有数据保存在内存中,对数据的更新将异步地保存到磁盘上,使得数据在Redis重启之后仍然存在。这么做这有什么实际意义呢?将数据存储到硬盘是为了以后可以重用数据,将数据进行备份,可以在系统故障的时候从备份进行恢复。还有一点,存储在Redis里面的数据可能是经过复杂运算而得出的结果,把这些数据进行存储,方便后续的使用,以达到“空间换时间”的效果。 为什么需要持久化? redis里有10gb数据,突然停电或者意外宕机了,再原创 2020-06-19 21:54:47 · 1202 阅读 · 0 评论 -
Redis(五)--内存淘汰机制(涉及到过期策略)
Redis(五)–内存淘汰机制(涉及到过期策略) 这个博客的内容包括以下几个点: 1.redis内存淘汰机制 2.若有大量的key需要设置同一时间过期,一般需要注意什么? 3.过期键删除策略 4.redis如何保证数据都是热点数据 一、redis内存淘汰机制 1,概念: 内存淘汰机制:redis配置文件可以设置maxmemory,内存的最大使用量,达到限度会执行内存淘汰机制(也就是,redis用作缓存时,若内存空间用满,就会自动驱逐老的数据) 2,redis中的内存淘汰机制: 没有配置时,默认为no-e原创 2020-06-19 13:28:25 · 508 阅读 · 0 评论 -
Redis(四)--缓存雪崩、缓存穿透、缓存并发、缓存预热
Redis(四)–缓存雪崩、缓存穿透、缓存并发、缓存预热 一、缓存雪崩: 1.概念: 缓存雪崩:数据未加载到缓存中或者缓存同一时间大面积失效,从而导致所有的请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机。 2.如何预防缓存雪崩: (1)、缓存的高可用性。(如:redis Sentinel 和redis Cluster都实现了高可用) (2)、缓存的降级:可以利用encache等本地缓存(暂时支撑),但主要还是对源服务访问进行限流、资源隔离(熔断)、降级等。 在进行降级之前要对系统记性梳理,比如:原创 2020-06-18 19:07:49 · 205 阅读 · 0 评论 -
Redis(三)--Redis有哪几种数据结构
Redis(三)–Redis有哪几种数据结构 Redis 有 5 种基础数据结构,它们分别是:string(字符串)、list(列表)、hash(字典)、set(集合) 和 zset(有序集合)。这 5 种是 Redis 相关知识中最基础、最重要的部分。 1、字符串 string: Redis 中的字符串是一种 动态字符串,这意味着使用者可以修改,它的底层实现有点类似于 Java 中的 ArrayList,有一个字符数组,从源码的 sds.h/sdshdr 文件 中可以看到 Redis 底层对于字符串的定义原创 2020-06-18 11:51:45 · 1564 阅读 · 0 评论 -
Redis(二)--Redis数据结构底层实现
Redis(二)–Redis数据结构底层实现 面试中,redis也是很受面试官亲睐的一部分。我在这里讲的是redis的底层数据结构,而不是你理解的五大数据结构。你有没有想过redis底层是怎样的数据结构呢,他们和我们java中的HashMap、List、等使用的数据结构有什么区别呢。 1. 字符串处理(string): 我们都知道redis是用C语言写,但是C语言处理字符串和数组的成本是很高的,下面我分别说几个例子。 没有数据结构支撑的几个问题: 极其容易造成缓冲区溢出问题,比如用strcat(),在用这原创 2020-06-17 18:49:06 · 604 阅读 · 0 评论 -
Redis(一)--Redis初次认识
Redis(一)–Redis初次认识 一、redis 简介: 简单来说redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在**内存中**的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。 二、特性: 1. 速度快: 主要的原因是因为:内存。 数据存储在内存中。 2. 持久化(断电不丢数据):原创 2020-06-17 17:08:33 · 475 阅读 · 0 评论
分享