
redis
文章平均质量分 90
懵懵懂懂搬运工
这个作者很懒,什么都没留下…
展开
-
Redis面试突击专用
本文的面试题如下: Redis 持久化机制 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题 热点数据和冷数据是什么 Memcache与Redis的区别都有哪些? 单线程的redis为什么这么快 redis的数据类型,以及每种数据类型的使用场景,Redis 内部结构 redis的过期策略以及内存淘汰机制 Redis 为什么是单线程的,优点 如何解决redis的并发竞争key问题 Redis 集群方案应该怎么转载 2022-02-14 09:35:41 · 213 阅读 · 0 评论 -
Redis夺命连环20问
1. 什么是Redis?它主要用来什么的?Redis,英文全称是Remote Dictionary Server(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。与MySQL数据库不同的是,Redis的数据是存在内存中的。它的读写速度非常快,每秒可以处理超过10万次读写操作。因此redis被广泛应用于缓存,另外,Redis也经常用来做分布式锁。除此之外,Redis支持事务、持久化、LUA 脚本、LRU 驱转载 2021-12-22 15:31:06 · 403 阅读 · 0 评论 -
缓存和数据库到底先写哪个?
大型高并发的后端服务系统,处理瓶颈往往是数据库,比如mysql的查询写入。为了能够快速响应用户请求,系统优化自然会想到利用缓存加快处理速度,常用的比如redis,性能非常高的缓存数据库。redis搭配mysql一起使用,绝配。但,没有免费的午餐,你要用缓存,就不得不面对缓存和数据库不一致的问题,解决这种不一致有通用设计模式(其实不仅仅是数据库上的应用),陈皓这篇文章讲的比较全面。来源:coolshell.cn链接:https://coolshell.cn/articles/17416.htm转载 2021-12-21 14:18:23 · 421 阅读 · 0 评论 -
Redis 16 个常见使用场景
目录 缓存 数据共享分布式 分布式锁 全局ID 计数器 限流 位统计 购物车 用户消息时间线timeline 消息队列 抽奖 点赞、签到、打卡 商品标签 商品筛选 用户关注、推荐模型 排行榜 1、缓存String类型例如:热点数据缓存(例如报表、明星出轨),对象缓存、全页缓存、可以提升热点数据的访问数据。2、数据共享分布式String转载 2021-12-20 09:34:18 · 110 阅读 · 0 评论 -
Java+Redis位图实现点赞签到相关功能
juejin.cn/post/6975051843437068318推荐:https://www.xttblog.com/?p=5221前言对于我们平时的一些社区应用,如微博,知乎,掘金等应用点赞,评论这类功能是不可或缺的,例如点赞功能我们其实是可以通过 mysql 去做实现的,但是每次点赞都去实时改库可以想象一下当遇到一个热点文章例如,前段时间大火特火的爆料某艺人日薪多少帖子,这个上千万乃至亿级的点赞量,这个时候我们再去实时改库的话就不那么恰当,今天我们介绍的主角是Redis的位图操作,接转载 2021-12-20 09:25:15 · 502 阅读 · 0 评论 -
linux 下安装 redis5.0
一、下载官网:Redis网盘:链接:https://pan.baidu.com/s/1I3cpQeMgCYdsZp6zt9iAaw提取码:h550二、安装把下载到的包上传到linux上。2.1解压tar -zxvf redis-5.0.14.tar.gz2.2移动到你需要放的目录下2.3安装gcc环境[root@localhost mnt]# yum install gcc-c++2.4进入到解压后redis文件夹中2.5对解...转载 2021-12-19 14:29:06 · 424 阅读 · 0 评论 -
内存耗尽后Redis会发生什么?
作为一台服务器来说,内存并不是无限的,所以总会存在内存耗尽的情况,那么当Redis服务器的内存耗尽后,如果继续执行请求命令,Redis会如何处理呢?设置有效期使用Redis服务时,很多情况下某些键值对只会在特定的时间内有效,为了防止这种类型的数据一直占有内存,我们可以给键值对设置有效期。Redis中可以通过4个独立的命令来给一个键设置过期时间: expire key ttl:将key值的过期时间设置为ttl秒。 pexpire key ttl:将key值的过...转载 2021-12-14 09:33:02 · 166 阅读 · 0 评论 -
分布式缓存的十个坑
“今天无聊来撩一下分布式缓存,希望你们喜欢~目录前言目前工作中用到的分布式缓存技术有redis和memcached两种,缓存的目的是为了在高并发系统中有效降低DB的压力,但是在使用的时候可能会因为缓存结构设计不当造成一些问题,这里会把可能遇到的坑整理出来,方便日后查找。一. 常用的两种缓存技术的服务端特点1. Memcache服务端Memcache(下面简称mc)服务端是没有集群概念的,所有的存储分发全部交由mc client去做,我这里使用的是xmemcached,这个转载 2021-12-13 09:26:02 · 447 阅读 · 0 评论 -
Redis实现了一个轻量级的搜索引擎
大家如果是做后端开发的,想必都实现过列表查询的接口,当然有的查询条件很简单,一条 SQL 就搞定了。图片来自 Pexels但有的查询条件极其复杂,再加上库表中设计的各种不合理,导致查询接口特别难写,然后加班什么的就不用说了(不知各位有没有这种感受呢~)。下面以一个例子开始,这是某购物网站的搜索条件,如果让你实现这样的一个搜索接口,你会如何实现?当然你说借助搜索引擎,像 Elasticsearch 之类的,你完全可以实现。但我这里想说的是,如果要你自己实现呢?从上图中可以看出,搜索转载 2021-12-13 09:24:47 · 258 阅读 · 0 评论 -
Redis性能优化十三条军规
前言Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻谨记优化铁则,才能使得Redis性能发挥到极致。本文将会介绍十三条性能优化军规,开发过程中只要按照执行,性能必能质的飞跃。1. 避免慢查询命令慢查询命令指的是执行较慢的命令,Redis自身提供了许多的命令,并不是所有的命令都慢,这和命令的操作复杂度有关,因此必须知道Redis不同命令的复杂度。如说,Value类型为String时,GET/SET操作主要就是操作 Redis 的哈希表索引。这...转载 2021-12-09 09:27:47 · 142 阅读 · 0 评论 -
Redis突然 “慢“ 了
前言众所周知Redis是单线程,有着极快的响应速度,但是有一天Redis突然变"慢"了,运维甚至开发都慌了,开始一系列的骚操作了,但是一点效果都没有,why?遇到问题不要慌,首先需要确定的是:Redis真的变慢了吗?今天陈某就来介绍下以什么标准为基线判断Redis变慢了?Redis真的变慢了?我们知道一个应用程序在服务器上运行,它的运行快慢和硬件乃至底层操作系统都有巨大的关系,因此Redis响应慢了就真的是Redis的锅?如何判断Redis是不是真的变慢了?一个最直接方法:查看R转载 2021-12-08 09:37:04 · 204 阅读 · 0 评论 -
给你一个亿的keys,Redis如何统计?
前言不知你大规模的用过Redis吗?还是仅仅作为缓存的工具了?在Redis中使用最多的就是集合了,举个例子,如下场景: 签到系统中,一天对应一系列的用户签到记录。 电商系统中,一个商品对应一系列的评论。 交友系统中,某个用户的一系列的好友。 Redis中集合的特点无非是一个Key对应一系列的数据, 但是数据的作用往往是为了统计的,比如: 交友系统中,需要统计每天的新增好友,以及双方的共同好友。 电商系统中,需要统计评论列表中的最新评论。 签到系统中转载 2021-12-08 09:36:12 · 230 阅读 · 0 评论 -
宕机了,Redis数据丢了怎么办?
目录 前言 什么是AOF? 三种写回策略 日志文件太大怎么办? AOF重写会阻塞主线程吗? AOF的缺点 总结 什么是RDB? 给哪些数据做快照? 快照时能够修改数据吗? 多久做一次快照? 增量快照 AOF和RDB混合使用 总结 总结 前言Redis作为内存型的数据库,虽然很快,依然有着很大转载 2021-12-08 09:34:40 · 909 阅读 · 0 评论 -
单线程的Redis有哪些 “慢“ 动作?
目录 前言 为什么 Redis 这么火? 键和值的保存形式? 为什么哈希表操作变慢了? 集合的操作效率? 有哪些数据结构? 不同操作的复杂度? 总结 前言现在一提到Redis的第一反应就是快、单线程,但是Redis真的快吗?真的是单线程吗?你有没有深入了解一下Redis,看看它的底层有哪些"慢动作"呢?为什么 Redis 这么火?Redis作为一个内存数据库,它接收一个key到读取数据几乎是微秒级别,转载 2021-12-08 09:33:32 · 132 阅读 · 0 评论 -
为什么删除数据后,Redis内存占用依然很高?
什么是内存碎片?内存碎片这个概念应该不是第一听说了,熟悉JVM或者操作系统的应该都熟悉,以火车卖票为例,一个车厢128个车位,由于高峰期,只剩余两个位置了,但是此时三个人想要坐在一起,能够吹吹牛批,喝喝酒的,那么这三个人肯定不会买这节车厢的两个位置了,此时这两个位置可以称之为座位碎片。操作系统中对于内存分配也是一样的,比如应用需要申请一块连续N个字节的空间,虽然剩余内存总量大于N个字节,但是没有一块连续的内存空间是N个字节,那么剩余的空间就是内存碎片。如下图:上图中的空闲3个字节和空闲2个.转载 2021-12-08 09:32:25 · 110 阅读 · 0 评论 -
Redis 实战:巧用 Bitmap 实现亿级海量数据统计
在移动应用的业务场景中,我们需要保存这样的信息:一个 key 关联了一个数据集合。常见的场景如下: 给一个 userId ,判断用户登陆状态; 显示用户某个月的签到次数和首次签到时间; 两亿用户最近 7 天的签到情况,统计 7 天内连续签到的用户总数; 通常情况下,我们面临的用户数量以及访问量都是巨大的,比如百万、千万级别的用户数量,或者千万级别、甚至亿级别的访问信息。所以,我们必须要选择能够非常高效地统计大量数据(例如亿级)的集合类型。如何选择合适的数据集合,我们转载 2021-11-08 09:46:05 · 261 阅读 · 0 评论