随笔分类 -  【003】Redis

数据类型,底层数据结构,网络访问框架,持久化,可靠集群与高可扩展集群,过期机制,数据淘汰策略。 问题:污染、雪崩、穿透、击穿;数据丢失、主从不一致;内存占用飙升;抖动、阻塞
摘要:一、缓存穿透 1、含义 缓存穿透是指查询一个缓存中和数据库中都不存在的数据,导致每次查询这条数据都会透过缓存,直接查库,最后返回空。 2、解决方案 1)缓存空对象 就是当数据库中查不到数据的时候,我缓存一个空对象,然后给这个空对象的缓存设置一个过期时间,这样下次再查询该数据的时候,就可以直接从缓存中 阅读全文
posted @ 2023-04-12 20:44 shog808 阅读(27) 评论(0) 推荐(0) 编辑
摘要:一、缓存耗尽的原因 1、每台机器的内存是一定的 2、key未设置过期时间 key不设置过期时间则在内存中一直存在,直到我们明确删除它。 3、过度或不合理的持久化 无论RDB快照或者AOF日志,都会在内存和磁盘中反复操作,需要一定的内存空间。 4、不及时清理过期缓存 有时过期缓存依旧存在,主要和缓存清 阅读全文
posted @ 2023-04-01 11:52 shog808 阅读(134) 评论(0) 推荐(0) 编辑
摘要:一、总览 Redis是键值型数据库,键是String,值可以是多种数据类型,具体包括:String(字符串)、List(列表)、Hash(哈希)、Set(集合)和 Sorted Set(有序集合) 键值采用哈希算法,称为全局哈希表。 而每种数据类型对应着都有底层实现的数据结构,具体如图: 二、数据结 阅读全文
posted @ 2023-01-15 21:30 shog808 阅读(49) 评论(0) 推荐(0) 编辑
摘要:站在 java 开发语言的角度,虽然可供选择的客户端非常多,但是官方主要推荐使用以下三种客户端,原因大概是它们对 redis 提供的支持更加全面、api 操作更佳丰富。 1、Jedis Jedis 是一款老牌 Redis 的 Java 客户端,提供了比较全面的 Redis 命令的操作支持,也是目前使 阅读全文
posted @ 2023-01-10 22:06 shog808 阅读(755) 评论(0) 推荐(0) 编辑
摘要:1、网络模型:IO多路复用 Linux 中的 IO 多路复用机制是指一个线程处理多个 IO 流,就是我们经常听到的 select/epoll 机制。简单来说,在 Redis 只运行单线程的情况下,该机制允许内核中,同时存在多个监听套接字和已连接套接字。内核会一直监听这些套接字上的连接请求或数据请求。 阅读全文
posted @ 2023-01-05 22:33 shog808 阅读(22) 评论(0) 推荐(0) 编辑
摘要:一、问题:项目中有一些重复操作的情况,比如: 1.从场景有用户快速点击提交按钮,或者postMan测试时快速点击 2.从业务上来说,用户注册、用户下单等 3.黑客攻击 二、解决办法 1、使用springAop、Redis 2、代码 /** * 2020/7/22 9:59 AM * * @autho 阅读全文
posted @ 2020-12-03 11:58 shog808 阅读(360) 评论(0) 推荐(0) 编辑
摘要:1.redis自定义配置 package com.meritdata.cloud.shellmiddleplatform.dataservice.config; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fa 阅读全文
posted @ 2020-10-16 14:12 shog808 阅读(3958) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示