Java学习路线之redis
1、redis
大数据时代三V:海量Volume、多样Variety、实时Velocity
大数据时代三高:高并发、高可用(无限套娃+彼此监控)、高性能
- Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 # 默认有16个数据库 使用select切换 ----------------------------------- set get flushall flushdb
redis可以用作数据库、缓存和消息中间件。
keys * 查看所有key exists 返回 0 / 1 move name 1 删除 expire [name] [时长] 设置过期时间 type 查看类型 秒语法:ttl key 毫秒语法:pttl key 查询key的生命周期(秒) 设置过期时间 秒语法:expire key seconds 毫秒语法:pexpire key milliseconds 设置永不过期 语法:persist key 更改键名称 语法:rename key newkey 值递增/递减 如果字符串中的值是数字类型的,可以使用incr命令每次递增,不是数字类型则报错。 语法:incr key 追加内容 语法:append key value 获取值长度 语法:strlen key 获取部分字符 语法:getrange key start end 设置过期时间 setex key [时长] [name] 获取并设置值 getset
redis持久化
RDB快照(snapshotting)
把当前内存中的数据集快照写入磁盘,也就是 Snapshot 快照(数据库中所有键值对数据)。恢复时是将快照文件直接读到内存里。
可以自动触发(关机触发、隔一段时间触发)也可以手动触发(save和bgsave)。Redis进程执行fork操作创建子进程,RDB持久化过程由子进程负责,完成后自动结束。
恢复:将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可,redis就会自动加载文件数据至内存了。Redis 服务器在载入 RDB 文件期间,会一直处于阻塞状态,直到载入工作完成为止。
AOF(append-only-file)
默认不开启,默认使用的是RDB
通过保存Redis服务器所执行的【写命令】来记录数据库状态
RDB 持久化方式就是将 str1,str2,str3 这三个键值对保存到 RDB文件中,而 AOF 持久化则是将执行的 set,sadd,lpush 三个命令保存到 AOF 文件中。
AOF 文件恢复:
重启 Redis 之后就会进行 AOF 文件的载入。
异常修复命令:redis-check-aof --fix 进行修复
AOF 重写:
由于AOF持久化是Redis不断将写命令记录到 AOF 文件中,随着Redis不断的进行,AOF 的文件会越来越大,文件越大,占用服务器内存越大以及 AOF 恢复要求时间越长。为了解决这个问题,Redis新增了重写机制,当AOF文件的大小超过所设定的阈值时,Redis就会启动AOF文件的内容压缩,只保留可以恢复数据的最小指令集。可以使用命令 bgrewriteaof 来重新。
redis发布订阅
发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个频道的订阅者就能接收到这条消息。Redis的这种发布订阅机制与基于主题的发布订阅类似,Channel相当于主题。简单来说和对讲机的意思差不多。
redis主从复制
主节点写、从节点读。
redis哨兵模式
监控主机故障,自动选举老大的模式
redis缓存穿透
redis缓存击穿
正在疯狂查询的某数据过期了,导致去大量查询持久层数据库。
redis缓存雪崩
缓存集中失效,或者redis宕机。
限流降级:通过加锁来控制线程数或者停掉一些不必要的服务,保证主服务的运行。
高可用:多增设几台redis
数据预热:把在未来可能会频繁访问的数据人为提前加载到缓存里。
好看请赞,养成习惯:) 本文来自博客园,作者:靠谱杨, 转载请注明原文链接:https://www.cnblogs.com/rainbow-1/p/16570478.html
欢迎来我的51CTO博客主页踩一踩 我的51CTO博客
文章中的公众号名称可能有误,请统一搜索:靠谱杨的秘密基地
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具