![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 62
牛奶味的团子
这个作者很懒,什么都没留下…
展开
-
一、cron表达式
想在每月的20日触发调度0 0 0 20 *?,而且只能使用如下写法:0/1 0 0 20 *?其中最后一位只能用?,而不能使 用*,因为*表示不管星期几都会触发恰好与20冲突。前面介绍了cron表达式,但是自己编写表达式还是有一些困难的,我们可以借助一些 cron表达式在线生成器来根据我们的需求生成表达式即可。”字符只在日期域和星期域中使用。它被用来指定“非明确的值”。corn 从左到右(用空格隔开):秒 分 小时。Cron 表达式是一个字符串,分为。个域,每一个域代表一个含义。原创 2024-06-28 20:28:44 · 167 阅读 · 0 评论 -
Redis慢日志
客户端从发送命令到获取返回结果经过了以下几个步骤:1. 客户端发送命令2. 该命令进入 Redis 队列排队等待执行3. Redis 开始执行命令 - Redis 命令执行完成4. 命令执行结果返回给客户端Redis 慢查询日志统计的时间,只包含第三步的 Redis 命令从开始执行到执行完成的时间。原创 2024-04-07 10:25:39 · 1005 阅读 · 0 评论 -
Redis集群
Redis Cluster是官方正式支持的分布式解决方案,它采用了数据分片(sharding)技术,将数据分散在多个节点上。(2)缺点:需要手动进行故障转移,无法自动处理主节点故障;Sentinel是Redis提供的一个高可用性解决方案,它能监控主从节点状态,并在主节点出现故障时自动完成故障转移。(2)缺点:虽然比主从模式增加了自动化,但仍不支持自动的数据分区,且随着节点数量增加,管理和配置的复杂性也会增大。在此模式下,有一个主节点负责处理写入请求,而从节点则复制主节点的数据并提供读取服务。原创 2024-03-29 18:34:51 · 283 阅读 · 0 评论 -
Redis 和 Mysql 数据库数据如何保持一致性
在发现缓存没有数据后,在执行查询数据库前,对该Key进行加锁,查询数据库并放入缓存后再解锁,这样可以避免缓存击穿问题,当某个redis数据不存在时,大量线程并发查询数据库。线程B查询缓存没有数据,在线程A更新数据库之前,查询到旧数据,此时系统时间片切换到线程A执行删除缓存,之后又轮到线程B放入缓存旧数据。在需要执行双删前,对该Key进行加锁,之后执行删除缓存,更新数据库,放入新数据到缓存,在解锁。线程B和线程C发现缓存没数据,查询数据库。线程C针对于线程A,查询缓存没有数据,查询到旧数据,放入缓存旧数据。原创 2024-03-29 18:13:34 · 458 阅读 · 0 评论 -
Redis主从同步机制
主数据库接收到同步命令后,会执行 bgsave 命令,在后台生成一个 rdb 文件,并使用一个缓冲区记录从现在开始执行的所有。从服务器接收到这个 rdb 文件,然后加载到内存;之后主服务器会把刚刚在缓存区的命令同步过来,从服务器就会执行这些命名。当主服务器执行完 bgsave 命令后,主服务器会将 bgsave 命令生成的 rdb 文件发送给从服务器;以上处理完之后,之后主数据库每执行一个写命令,都会将被执行的写命令发送给从数据库。从服务器向主服务器发送同步命令 sync;原创 2024-03-29 17:05:01 · 260 阅读 · 0 评论 -
如何保证redis里的数据都是热点数据
放任键过期不管,但是每次从键空间中获取键时,都检查取得的键是否过期,如果过期的话,就删除该键;如果没有过期,就返回该键。:每隔一段时间程序就对数据库进行一次检查,删除里面的过期键。至于要删除多少过期键,以及要检查多少个数据库,则由算法决定。MySQL 里有 2000w 数据,Redis 中只存 20w 的数据,如何保证 redis 中的数据都是热点数据?Redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。全称Least recently used,意思为淘汰掉最久未使用(即。原创 2024-03-29 17:03:40 · 371 阅读 · 0 评论 -
redis 常用命令
1、删除key:del2、判断key是否存在:exists3、给key设置生存时间:expire 和expireat(时间戳)4、查找所有的key :keys5、查看key剩余生存时间:ttl6、返回key所存储的值的类型:type7、迭代根据条件查询key的值:scan。原创 2024-03-28 18:15:06 · 860 阅读 · 0 评论 -
Redis面试题-缓存雪崩、缓存穿透、缓存击穿问题
1两边都不存在(皇帝的新装) (黑名单) (布隆过滤器)2:一个热点的key失效了,这时大量的并发请求直接到达数据库. (3:大量key同时失效 (原创 2024-03-28 15:32:20 · 491 阅读 · 0 评论 -
redis中bitmap的使用及场景,如何操作
在签到统计时,每个用户一天的签到用 1 个 bit 位就能表示,一个月(假设是 31 天)的签到情况用 31 个 bit 位就可以,而一年的签到也只需要用 365 个 bit 位,根本不用太复杂的集合类型。这意味着你可以用一个Bitmap来跟踪多达数百万甚至数十亿的状态,只要状态总数不超过 2^(8 * (512 MB / 1 byte)),即大约 2^32 个状态(考虑到字符串末尾的结束符,实际可用的偏移量上限是 2^32 - 1)。对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。原创 2024-03-26 22:49:50 · 1660 阅读 · 0 评论 -
redis在docker安装并启动流程
3、找到配置文件,修改配置文件(如果没有可以去网上找一个复制过来自己新建一个)我们需要挂载数据文件,在宿主机上面,这样就可以持久化数据.以上命令,每次启动新的Redis容器,数据会丢失。2、挂载数据文件(可根据需求选择)配置文件需要修改3个地方。5、客户端GUI工具。1、启动server。原创 2024-03-25 22:11:25 · 608 阅读 · 0 评论 -
百万级redis key如何模糊查找-scan、scan和keys的区别
模糊查询导致交互速度慢、阻塞其他 Redis 操作,在Redis中,使用通配符 KEYS 命令进行键的模糊匹配(比如 KEYS key*)可能会导致性能问题,尤其是在数据集较大时。这是因为 KEYS 命令的实现需要遍历所有的键来匹配模式。在大规模的生产环境中,遍历所有键可能会导致阻塞其他 Redis 操作,因为 KEYS 命令会持有数据库的写锁。此外,这也可能对性能产生负面影响,因为它需要消耗大量的计算资源。在 Redis 中,所有命令都是按顺序执行的,一个命令执行完成后,才会执行下一个命令。原创 2024-03-25 21:57:34 · 1566 阅读 · 0 评论 -
Redis数据持久化
Redis是一个内存数据库,一旦断电或服务器进程退出,内存数据库中的数据将全部丢失,所以需要Redis持久化Redis持久化就是把数据保存在磁盘上,利用永久性存储介质将数据保存,在特定的时间将保存的数据进行恢复的工作机制Redis提供两种持久化机制:RDB:存储数据结果,关注点在数据(AOF:存储操作过程,关注点在数据的操作过程(原创 2024-03-25 21:32:18 · 303 阅读 · 0 评论 -
Redis 特性,为什么要用Redis,Redis到底是多线程还是单线程
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的,使用C语言编写、支持网络、可基于亦的日志型、Key-Value数据库,并提供多种语言的API。原创 2024-03-25 11:40:52 · 234 阅读 · 0 评论