![](https://img-blog.csdnimg.cn/8c059ca040614658bb596ece4c4bdea6.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Redis
文章平均质量分 65
Redis从0到实战
程序员洲洲
计算机科班本硕、CSDN全栈领域优秀博主、华为云享专家、阿里云专家博主、全网12W+粉丝。现某公司后端开发工程师。擅长领域:产品测评、毕设辅导、项目开发、自媒体副业、Java/Go/C++/Python/AI等。商务合作/活动推广/产品测评推广等请站内私信/文章底部有联系Vx名片/bdizztt
展开
-
Redis学习完结篇:经典面试题+重点知识
Redis介绍Redis,英文全称是Remote Dictionary Server(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。与MySQL数据库不同的是,Redis的数据是存在内存中的。它的读写速度非常快,每秒可以处理超过10万次读写操作。因此redis被广泛应用于缓存,另外,Redis也经常用来做分布式锁。除此之外,Redis支持事务、持久化、LUA 脚本、LRU 驱动事件、多种集群方案。Redi原创 2021-10-17 01:18:08 · 40733 阅读 · 0 评论 -
Redis学习最终版:面试题合集
1、Redis持久化机制Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的。实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由子进程写入到临时文件中,持久化的过程结束了,再用这个临时文件替换上次的快照文件,然后子进程退出,内存释放。RDB是Redis默认的持久化方式。按照一定的时间周期策略把内存的数据以快照的形式保存到硬盘的二进制文件。即S原创 2021-10-14 00:45:37 · 40615 阅读 · 0 评论 -
Redis学习16:企业解决方案之缓存预热、缓存雪崩、缓存击穿、缓存穿透、性能指标监控等
缓存预热服务器宕机的问题排查:缓存雪崩就是类似redis没有,全部挤在mysql访问了。原创 2021-10-13 02:01:57 · 40153 阅读 · 0 评论 -
Redis学习15:集群-主从复制、哨兵模式、集群
互联网的三高架构高并发、高性能、高可用高可用的介绍:全年的时间-不可服用的时长除以全年时长的比例。业界的目标,五个9,99.999.就是全年宕机低于5.25分钟。redis服务器是单点的,那么一点出问题就容易完蛋。为了避免灾难性打击,所以可以建立集群,增加可用性主从复制介绍需要解决的问题:如何进行数据同步。那么核心的主要工作就是:master复制到slave中。这种形式就叫做主从复制。高可用集群方案要是主机出问题了,临时从从机找一个当mas原创 2021-10-13 01:32:01 · 40196 阅读 · 0 评论 -
Redis学习14:高级数据类型:Bitmaps、HyperLogLog、GEO
什么是高级数据类型是为了解决一个单一的业务而生的。Bitmaps使用最小力度来保存数据。也就是bit来存储。拿时间换空间。就是类似二进制。使用每一个人的编号进行一个位置的设置 ,然后01可以设置 一个状态。注意:如果不存在,那么获取得到的返回都是0.同时如果设置一个比较大的位,后面的位都是要设置的。对于第三个,长期的数据,由每天的数据进行结合,然后进行或操作。看看哪些是0哪些是1就可以了。或操作 :同1出1,有1出1,全0只有0。HyperLogLog原创 2021-10-12 22:03:51 · 40552 阅读 · 0 评论 -
Redis学习13:服务器的基础配置
服务器基础设置绑定主机地址如果绑定了,那么就只能使用这个地址进行访问,别人就不能访问了。cd redis-4.0.0/confvim redis-6379.conf就可以更改服务器的配置了这个类似继承的意思。加速配置的一个东西。服务器的配置比较独立一些,但配置并不是这么少,还有一些其他的。...原创 2021-10-12 16:36:28 · 40575 阅读 · 0 评论 -
Redis学习12:删除策略:过期数据、数据删除策略、逐出策略
Redis中的数据特征过期的数据真的删除了吗?过期数据是指曾经有效的数据,并不是立马被删除的。删除策略定时删除、惰性删除、定期删除过期数据时如何存储的首先需要明白时效性数据的存储结构删除策略是维护的紫色区域:expires。数据删除策略的目标内存占用与cpu占用之间寻找一种平衡,顾此失彼都会造成整体的Redis性能的下降,甚至引发服务器的宕机内存泄露!定时删除规定时间,设置一个定时器,当key设置有过期时间,且过期时间到达时,由定时器的任务立即对key的删除操作原创 2021-10-12 00:43:14 · 40580 阅读 · 0 评论 -
Redis学习12:事务
事务就是一个命令执行的队列,将一系列预定命令包装成一个整体(一个队列)。执行的时候,依次按照添加顺序依次执行,中间不会被打断或者干扰。事务的基本操作就是将从multi开始的后面的命令加到队列中,不执行,等遇到exec时,开始执行队列命令。输入multi代表开始。然后后面输入的命令会返回queued。然后输入exec。然后开始输出队列中每个任务的结果。如下图。如果事务有问题,那么通过一个命令来取消。命令:discard类似回滚。事务的工作流程discard是直接销.原创 2021-10-11 00:57:46 · 40506 阅读 · 0 评论 -
Redis学习11:持久化RDB/AOF
持久化简介什么是持久化?利用永久性的存储介质进行保存,特定的时间将保存的数据进行恢复。持久化方式:保存分为快照和日志。注意日志保存的是整个操作的过程。在Redis中两种都有,左边叫做RDB,右边叫做AOF。RDB 快照RDB启动方式一定要有三个因素:任务时间地点对应命令:sava每执行一次就可以手动保存一次数据先通过 key * 查看有没有数据有没有数据 没有就添加然后save命令然后进入到data目录下会发现 dump.rdb 一个文件打开rdb文件发现乱码,是因原创 2021-10-10 22:42:19 · 40785 阅读 · 0 评论 -
Redis学习10:linux下安装Redis进行基本操作
三个问号是版本号linux下指定端口启动redis如果想起多台redis的服务,那么就需要通过这样来启动。redis-server --port 5380更换完毕之后,连接的客户端应该这样连接:redis-cli -p 5380.这种方式就是带着参数来启动服务器,并且连接端口号。linux通过启动配置文件启动redis可以通过redis.conf配置文件来启动redis通过linux命令 cat redis.conf 来查看文件发现这个文件上有很多杂七杂八的东西 于是通过 ...原创 2021-10-08 00:09:24 · 42095 阅读 · 0 评论 -
Redis学习9:Jedis学习
Jedis学习编程语言中的数据如任何和redis联动,如果是java语言,那么就可以使用Jedis工具,同时springdata redis也可以使用,lettuce也可以使用。java语言操作数据库的四个步骤:1、明确哪个数据库 加载驱动2、创建与数据库之间的连接3、执行操作4、关闭连接使用Java调用Redis首先需要引入依赖如下:Jedis常规操作的演示使用JAVA实现一个简单的Redis业务先写最简单的多线程调用:写业务代码打印了十次业务原创 2021-10-07 17:55:24 · 42131 阅读 · 0 评论 -
Redis学习8:key通用指令操作、数据库通用指令操作
key的基本通用操作:删除 获取 查询是否存在及获取类型然后进行一个简单的判断和操作。key的拓展操作:时效控制性对于任意一个key都是可以设置其有效期的。在linux系统中一般使用时间戳来设置他的有效期。也就是expireat key timestamp。如果ttl str得到的返回值是-2,那么就是代表这个东西已经不存在了。如果这个时候去获取get str,那么得到的就是nil了。而如果没有设置时间,进行ttl str的一个操作,那么得到的就是一个-1.pttl是配套使原创 2021-10-07 00:57:29 · 42152 阅读 · 0 评论 -
Redis学习7:按次结算的服务控制、微信会话顺序管理(应用场景总结)
按次控制结算现在数据类型五种基本的已经学完了,现在开始应用一个简单的业务场景。要思考如何进行一个综合应用。那么进行一个分析,分析解决方案如何进行操作。难点是:计数且有生命周期。setex 是可以设置时长setex 415 60 1;就是反复的走这个过程,如果是一个新用户,就进行设1增加。进来415发现不存在,就开始设置时间长度,并且开始进行增加。进行方案改进:能否最后一次才进行判定次数,而不是每次判定。直接设置一个特殊值。get发现有原创 2021-10-06 00:15:05 · 42130 阅读 · 0 评论 -
Redis学习6:sorted_set类型、拓展操作、应用场景等
sorted_set类型新的存储需求:类似排行榜:就是需要有利于数据的展示,根据一些自身特征进行排序的方式。score不用来存数据,而是用它排序特征的!真正的数据存储还是放在前面的。基本操作添加、删除、基本查询按条件获取、条件删除等等...原创 2021-10-05 20:02:07 · 42121 阅读 · 0 评论 -
Redis学习5:Set基本操作、拓展操作、业务场景等
set的基本操作set的拓展操作:用户推荐-业务场景注意第一个50个是不会变减少的,但是第二个是会减少的。操作如下:综上所示,redis应用于随机推荐类信息检索,例如热点歌单推荐,热点新闻推荐,热点APP等推荐!...原创 2021-10-05 00:19:26 · 40589 阅读 · 0 评论 -
Redis学习4:List数据类型、拓展操作、实现日志等
list类型分类注意点:对存储空间的顺序进行分析!list的基本操作lpush是左边进,rpush是右边进。其实就是类似队列的一个操作,然后如果想查看的顺序按照自己进入的顺序的话,就需要弄清左进右出的选择!如果lrange list 0 -1(-1代表倒数第一)也可以显示出来的!其实就是双向(双端)队列!list的拓展操作:阻塞数据定时取一个东西。有任务就可以取,没有的就等。拓展操作:进行朋友圈点赞谁发的就对应key,而点赞的玩家就是value,原创 2021-10-03 17:27:44 · 40541 阅读 · 0 评论 -
Redis学习3:hash类型操作、拓展操作、实现购物等
于是有了这一步的改进。一个key开始对很多数据了,如上图所示。hash类型介绍首先可以理解成一个redis里面有一个小的redis。同时要注意引入了一个field的名字。hash存储结构优化:field数量少,存储结构优化为类数组结构field数量多,存储结构使用HashMap结构基本操作有点map套map的味道。哈希的拓展操作hash类型操作的注意事项电商网站购物车实现那么值能拿到和进行操作吗?业务分析先不需要考虑其他太多东西,应该是可以的。.原创 2021-10-02 23:26:19 · 42188 阅读 · 0 评论 -
Redis学习2:课程安排、数据类型String操作及拓展操作和Key的设置约定
Redis学习课程计划本系列文章是根据黑马程序员视频的学习笔记进行学习数据类型介绍业务数据的特殊性最初定位是缓存来使用。1、原始业务功能设计(秒杀方面、618、双11、12306等高数据并发)2、运营平台监控到的突发高频访问数据意思就是说最开始并不知道新闻是热点,一开始关注不到,但是可以监控到高频词了,所以可以加入到Redis中了。3、高频、复杂的统计数据比如说直播的在线人数、偶像团的投票刷票等等(实时刷新、快速响应)附加功能1、系统功能优化或者升级比如说单服务群升级集群、sess原创 2021-10-02 16:25:31 · 40379 阅读 · 0 评论 -
Redis学习1:入门简介及基本命令操作
Redis问题现象1、海量用户2、高并发真正的问题:关系型数据库1、性能:数据库保存在磁盘上。磁盘的IO性能低下。CPU数据交换和高速缓存cache做,cache和内存,而内存和硬盘做。那么基础信息都在磁盘硬盘上的。2、关系型数据关系复杂:扩展性能差,不便于大规模集群。解决问题:针对问题来解决:1、解决磁盘的IO次数,越低越好。 —内存存储2、降低数据之间的关系,越简单越好。 — 不存储关系 只存储数据同时用内存存储这些就是NoSQL 那么就是 Not-Only-Sql,泛指非关系原创 2021-10-02 12:54:14 · 40643 阅读 · 0 评论