07 2021 档案

摘要:1.redis主从架构介绍 背景 单机部署简单,但是可靠性低,且不能很好利用CPU多核处理能力 生产环境必须要保证高可用,一般不可能单机部署 读写分离是可用性要求不高、性能要求较高、数据规模小的情况 目标 读写分离,扩展主节点的读能力,分担主节点读压力 容灾恢复,一旦主节点宕机,从节点作为主节点的备 阅读全文
posted @ 2021-07-30 17:15 Gen2021 阅读(167) 评论(0) 推荐(0)
摘要:背景 redis在占用的内存超过指定的maxmemory之后,通过maxmemory_policy确定redis是否释放内存以及如何释放内存 提供多种策略 策略 volatile-lru(least recently used) 最近最少使用算法,从设置了过期时间的键中选择空转时间最长的键值对清除掉 阅读全文
posted @ 2021-07-29 20:32 Gen2021 阅读(142) 评论(0) 推荐(0)
摘要:背景 redis的key配置了过期时间,这个是怎么被删除的? redis数据明明过期了,怎么还占用着内存? redis就只能用10G,你要是往里面写了20G的数据,会发生什么?淘汰哪些数据? redis key过期策略 定期删除+惰性删除 redis如何淘汰过期的key:set name zhang 阅读全文
posted @ 2021-07-28 17:29 Gen2021 阅读(114) 评论(0) 推荐(0)
摘要:config命令介绍(都有默认值) 可以动态的调整redis服务器的配置(configuration)而无需重启 config get xxx、config set xxx 常用配置 daemonize # 后端运行 bind # ip绑定 timeout # 客户端连接时的超时时间,单位为秒。当客 阅读全文
posted @ 2021-07-28 16:42 Gen2021 阅读(444) 评论(0) 推荐(0)
摘要:info命令介绍 服务器的各种信息和统计数值 # Server:有关redis服务器的常规信息 redis_mode:standalone # 运行模式,单机或者集群 multiplexing_api:epoll # redis所使用的事件处理机制 run_id:562bbafb0310a5085c 阅读全文
posted @ 2021-07-28 15:10 Gen2021 阅读(107) 评论(0) 推荐(0)
摘要:redis提供了不同的持久化选项 RDB持久化以指定的时间间隔执行数据集的时间点快照 AOF持久化记录服务器接收的每个写入操作,将在服务器启动时再次读取,重建原始数据集。使用与redis协议本身相同的格式以仅追加方式记录命令,当文件太大时,redis能够重写 RDB的优缺点 优点 RDB最大限度的提 阅读全文
posted @ 2021-07-26 11:22 Gen2021 阅读(195) 评论(0) 推荐(0)
摘要:rewrite重写介绍 AOF文件越来越大,需要定期对AOF文件进行重写达到压缩 旧的AOF文件含有无效命令会被忽略,保留最新的数据命令 多条写命令可以合并为一个 AOF重写降低了文件占用空间 更小的AOF文件可以更快的被redis加载 重写触发配置 手动触发 直接调用bgrewriteaof命令 阅读全文
posted @ 2021-07-24 17:35 Gen2021 阅读(993) 评论(0) 推荐(0)
摘要:AOF持久化介绍 append only file,追加文件的方式,文件容易被人读懂 以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中的命令达到恢复数据的目的 写入过程宕机,也不影响之前的数据,可以通过redis-check-aof检查修复问题 配置实战 appendonly yes,开 阅读全文
posted @ 2021-07-24 16:40 Gen2021 阅读(162) 评论(0) 推荐(0)
摘要:redis持久化介绍 redis是一个内存数据库,如果没有配置持久化,redis重启后数据就全丢失 因此开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据 两种持久化方式 RDB(Redis DataBase) AOF(append only file) RDB 阅读全文
posted @ 2021-07-23 15:54 Gen2021 阅读(301) 评论(0) 推荐(0)
摘要:1.缓存击穿+解决方案 缓存击穿(某个热点key失效) 缓存中没有但数据库中有的数据,假如是热点数据,那么key在缓存过期的一刻,同时有大量的请求,这些请求都会击穿到DB,造成瞬时DB请求量大、压力增大。 和缓存雪崩的区别在于这里针对某一key缓存,后者则是很多key 预防 设置热点数据不过期;定时 阅读全文
posted @ 2021-07-23 13:48 Gen2021 阅读(223) 评论(0) 推荐(0)
摘要:1.Cacheable使用缓存 @Cacheable注解 标记在一个方法上,也可以标记在一个类上 缓存标注对象的返回结果,标注在方法上缓存该方法的返回值,标注在类上缓存该类所有的方法返回值 value:缓存名称,可以有多个 key:缓存的key规则,可以使用SpringEL表达式,默认是方法参数组合 阅读全文
posted @ 2021-07-21 18:26 Gen2021 阅读(419) 评论(0) 推荐(0)
摘要:package com.gen.config; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.f 阅读全文
posted @ 2021-07-04 11:30 Gen2021 阅读(598) 评论(0) 推荐(0)
摘要:官方文档:http://www.redis.cn/commands.html 1.通用命令 exists:判断key是否存在 del:删除key type:判断key类型 ttl:查看key存活时间 2.String类型命令 set/get:设置和获取key-value mset/mget:批量设置 阅读全文
posted @ 2021-07-04 10:43 Gen2021 阅读(67) 评论(0) 推荐(0)
摘要:RedisTemplate介绍 ValueOperations:简单K-V操作 SetOperations:set类型数据操作 ZSetOperations:zset类型数据操作 HashOperations:针对map类型的数据操作 ListOperations:list类型的数据操作 Redis 阅读全文
posted @ 2021-07-02 15:28 Gen2021 阅读(181) 评论(0) 推荐(0)