Redis
文章平均质量分 65
Redis
liufeng2023
日拱一卒
展开
-
330-Redis(缓存预热、缓存雪崩、缓存击穿、缓存穿透)
服务器启动后迅速宕机。因为服务器重启时,缓存中是没有数据的!加上上面2个因素,会对服务器造成压力。前置准备工作:准备工作:3. 将统计结果中的数据分类,根据级别,redis优先加载级别较高的热点数据4. 利用分布式多服务器同时进行数据读取,提速数据加载过程5. 热点数据主从同时预热实施:数据过期了,不走redis,直接在数据库中查!......原创 2022-06-07 14:10:18 · 97 阅读 · 0 评论 -
328-Redis(集群)
业务发展过程中遇到的峰值瓶颈?使用集群!集群就是使用网络将若干台计算机联通起来,并提供统一的管理方式,使其对外呈现单机的服务效果。通过算法设计,计算出key应该保存的位置:注意:问题: 一台计算机宕机,或者加了一台计算机,怎么办?一个机器持有一部分槽,当新增加机器时,分一部分槽即可!有机器下线时,将其内部的槽返回给之前给它的机器!ABC三个机器互连下,共享下各个机器的槽在哪个位置!假设现在来了一个客户端要访问服务器中的数据:配置三主三从!...原创 2022-06-07 11:57:06 · 99 阅读 · 0 评论 -
319-Redis(哨兵)
在开启主从复制后,master宕机了,哪个slave来代替master,需要做哪些事情?上面步骤存在的问题:谁来负责上面这些事情?哨兵!(可以看成是一双眼睛盯着它们干活!)哨兵(sentinel) 是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的master并将所有slave连接到新的master。1、监控:2、通知(提醒)3、自动故障转移注意:port: 哨兵本身也是一个服务,对外也是有一个端口的!dir: 对应的哨兵的工作信息存储在这个文件夹中:表示哨兵原创 2022-06-03 22:13:01 · 565 阅读 · 1 评论 -
313-Redis(主从复制)
高可用:主从复制即将master中的数据即时、有效的复制到slave中。特征: 一个master可以拥有多个slave,一个slave只对应一个master。1、当从机slave出现问题;可以用其他的salve来给外面提供读数据!2、主机master出现问题;选择一个从机slave作为主服务器master!然后由它来负责一个数据同步的过程。3、master主机现在压力很大,可以再将一个slave变成master;4、也可以配置多个master;指令的接收与发送:master给slave发送原创 2022-06-02 16:33:07 · 116 阅读 · 0 评论 -
310-Redis(高级数据类型Bitmaps & HyperLogLog & GEO)
高级数据类型BitmapsHyperLogLogGEO高级数据类型用于解决单一业务1、Bitmaps1.1、Bitmaps定义redis中这种数据类型叫string,只不过前面我们是以string为一个整体进行操作的,现在以string中存储的二进制位来操作的;Bitmaps并不是一个全新的数据类型,是string类中的二进制位的一个操作接口!1.2、Bitmaps类型的基础操作测试:使用setbit设置bits的0号位上的数字为1;使用getbit获取对应位上的值(原创 2022-05-31 17:26:43 · 123 阅读 · 0 评论 -
305-Redis(服务器基础配置)
服务器基础配置1、服务器端设定配置完毕后,重启redis服务器,然后可以用info查看下信息!2、日志配置3、客户端配置4、多服务器快捷配置其他服务器配置在后面业务中陆续会说!原创 2022-05-30 19:29:06 · 93 阅读 · 0 评论 -
304-Redis(Redis 删除策略)
Redis 删除策略1、过期数据1.1、Redis中的数据特征Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态。XX :具有时效性的数据(表示还有多少s的有效期)-1 :永久有效的数据-2 :已经过期的数据 或 被删除的数据 或 未定义的数据1.2、过期的数据真的删除了吗?没有如果一下来很多命令,CPU的压力会很大!CPU会先干正事,比如get、set等命令!删除过期数据,先放内存上,后面再删除也没事。2、数据删除策略定原创 2022-05-30 18:23:46 · 96 阅读 · 0 评论 -
298-Redis(事务)
事务1、事务简介1.1、什么是事务Redis执行指令过程中,多条连续执行的指令被干扰,打断,插队。redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体(一个队列)。当执行时,一次性按照添加顺序依次执行,中间不会被打断或者干扰;一个队列中,一次性、顺序性、排他性的执行一系列命令。2、事务基本操作2.1、开启事务和执行事务1、开启事务multi作用: 设定事务的开启位置,此指令执行后,后续的所有指令均加入到事务中(注意加入后就不执行了,向队列中加,等到遇到exe原创 2022-05-29 19:59:57 · 178 阅读 · 0 评论 -
293-Redis(Redis持久化-AOF方式)
Redis持久化-AOF方式1、RDB存储的弊端2、AOF2.1、AOF的概念2.2、AOF写数据的过程服务器接收到指令后,服务器并没有马上记录,将这些命令放到AOF写命令刷新缓冲区;这些指令是为了最终审查各行AOF存储文件使用;到了一定阶段,将这些命令全部同步到AOF文件中即可。存在的问题: 我们一次写多少条数据,多久写一次?2.3、AOF写数据三种策略(appendfsync)always(每次)每次写入操作均同步到AOF文件中,数据零误差,性能较低,不建议使用。原创 2022-05-26 20:50:07 · 224 阅读 · 0 评论 -
289-Redis(Redis持久化-RDB方式)
1、持久化简介什么是持久化?利用永久性存储介质将数据进行保存,在特定的时间将保存的数据进行恢复的工作机制称为持久化。为什么要进行持久化?防止数据的意外丢失,确保数据安全性保存的方式:RDB(快照): 定时将数据持久化到硬盘中AOP(日志): 保存操作的过程2、RDB2.1、RDB启动方式2.1.1、RDB启动方式 —— save指令命令:save #每执行一次就会保存一次数据作用: 手动执行一次保存操作2.1.2、RDB启动方式 ——dump.rdb文件原创 2022-05-25 19:49:19 · 832 阅读 · 0 评论 -
283-Redis(linux环境安装redis)
1、基于Linux环境安装Rediswget http://download.redis.io/releases/redis-4.0.0.tar.gztar -xvf redis-4.0.0.tar.gz 进入root用户,编译安装:进入src目录,没有问题!2、指定端口启动服务3、指定配置文件启动服务警告信息: 没有使用配置文件启动服务!配置文件: redis.conf打开redis-6379.conf:删除多余的,只留这4个配置项:端口、守护进程的原创 2022-05-24 20:27:55 · 112 阅读 · 0 评论 -
282-Redis(Redis 通用指令:数据库指令)
数据库指令1、db基本操作# 切换数据库select index# 其他操作# 退出quit# cli和服务器是否连通ping# 输出日志echo message # 有多少个keydbsize我们一直在默认的0号数据库操作 !2、db其他操作# 数据移动move key db# 数据清除(危险)# 删除本地的信息flushdb# 删除所有数据库的信息flushall必须保证对端数据库没有,有的话会报错!...原创 2022-05-24 17:26:14 · 105 阅读 · 0 评论 -
281-Redis(Redis 通用指令:key指令)
1、key通用操作1.1、key基本操作key是一个字符串,通过key获取redis中保存的数据# 删除指定keydel key# 获取key是否存在exists key# 获取key的类型type key1.2、key时效性控制操作# 为指定key设置有效期expire key secondspexpire key millisecondsexpireat key timestamp //时间戳的方式pexpireat key milliseconds-timest原创 2022-05-24 16:44:46 · 411 阅读 · 0 评论 -
280-数据类型实践案例
1、按次结算的业务控制使用最大值-10即可!超过最大值自己会报错!(利用数据上限的规则 )原创 2022-05-24 15:49:09 · 89 阅读 · 0 评论 -
276-Redis(Redis 数据类型:sorted_set)
sorted_set新的存储需求: 数据排序有利于数据的有效展示,需要提供一种可以根据自身特征进行排序的方式需要的存储结构: 新的存储模型,可以保存可排序的数据sorted_set类型: 在set的存储结构基础上添加可排序字段注意: score列不是用来存数据的,是用来排序的!sorted_set基本操作# 添加数据zadd key score1 member1 [score2 member2]# 获取全部数据,可以选择是否带scorezrange key start stop [W原创 2022-05-23 23:46:09 · 175 阅读 · 0 评论 -
271-Redis(Redis 数据类型:set)
list1、list类型list链表查询速度慢!新的存储需求: 存储大量的数据,在查询方面提供更高的效率需要的存储结构: 能够保存大量的数据,高效的内部存储机制,便于查询set类型: 与hash存储结构完全相同,仅存储键,不存储值(nil),并且值是不允许重复的。2、list类型基本操作# 添加数据sadd key member1 [member2]# 获取全部数据smembers key# 删除数据srem key member1 [member2]# 获取集合数据总量原创 2022-05-22 19:06:56 · 168 阅读 · 0 评论 -
270-Redis(Redis 数据类型:list)
list1、list类型数据存储需求: 存储多个数据,并对数据进入存储空间的顺序进行区分需要的存储结构: 一个存储空间保存多个数据,且通过数据可以体现进入顺序list类型: 保存多个数据,底层使用双向链表存储结构实现2、list基本操作# 添加/修改数据# 左添加lpush key value1 [value2] …… # 右添加rpush key value1 [value2] ……# 获取数据# start stop 是索引,最后一个索引可以是 -1lrange k原创 2022-05-22 17:31:22 · 380 阅读 · 1 评论 -
264-Redis(Redis 数据类型:hash)
hash1、string 存在的问题我们使用hash来存储:2、hash类型新的存储需求: 对一系列存储的数据进行编组,方便管理,典型应用存储对象信息需要的存储结构: 一个存储空间保存多个键值对数据hash类型: 底层使用哈希表结构实现数据存储注意:key => filed valuehash存储结构优化如果field数量较少,存储结构优化为类数组结构如果field数量较多,存储结构使用HashMap结构3、hash 类型数据的基本操作# 添加/修改数据hset k原创 2022-05-22 10:02:28 · 96 阅读 · 0 评论 -
256-Redis(Redis 数据类型:string)
1、业务数据的特殊性与附加性2、Redis 数据类型(5种常用)stringhashlistsetsorted_set3、Redis 数据存储格式redis 自身是一个 Map,其中所有的数据都是采用 key : value 的形式存储数据类型指的是存储的数据的类型,也就是 value 部分的类型,key 部分永远都是字符串4、string存储的数据: 单个数据,最简单的数据存储类型,也是最常用的数据存储类型存储数据的格式: 一个存储空间保存一个数据存储内容: 通常原创 2022-05-20 20:23:18 · 229 阅读 · 0 评论 -
253-Redis(Redis 的基本操作)
命令行模式工具使用思考功能性命令清除屏幕信息帮助信息查阅退出指令基本操作# 添加, 再此设置同一个key就会覆盖set key value# 得到。不存在的话返回nilget key# 清屏clear# 帮助信息help 命令名help gethelp @组名help @String# 退出quitexit<ESC>help命令help看一个群组group命令:...原创 2022-05-20 13:17:35 · 167 阅读 · 0 评论 -
252-Redis(Redis下载和安装)
Redis 的下载Windows 版本(适合零基础学习)Redis 入门使用以 3.2 版本作为主版本下载地址:https://github.com/MSOpenTech/redis/tagsLinux 版(适用于企业级开发)Redis 高级开始使用以4.0 版本作为主版本后面再介绍linux安装,先在windows上!...原创 2022-05-20 13:02:26 · 104 阅读 · 0 评论 -
251-Redis(Redis简介)
Redis简介背景NosqlNoSQL: 即 Not-Only SQL( 泛指非关系型的数据库),作为关系型数据库的补充。特征:可扩容,可伸缩大数据量下高性能灵活的数据模型高可用Nosql 作用: 应对基于海量用户和海量数据前提下的数据处理问题。常见 Nosql 数据库:RedismemcacheHBaseMongoDB解决方案(电商场景)注意: 热点信息是包含前面4种场景的,前面4种每一种都有可能成为热点信息!放到Redis中!Redis概念: Re原创 2022-05-20 11:43:38 · 106 阅读 · 0 评论