缓存
【9.0】Redis之缓存优化
【一】缓存的收益与成本 【1】受益 1 加速读写 2 降低后端负载:后端服务器通过前端缓存降低负载,业务端使用redis降低后端mysql负载 【2】成本 1 数据不一致:缓存层和数据层有时间窗口不一致,和更新策略有关 2 代码维护成本:多了一层缓存逻辑 3 运维成本:比如使用了Redis Clus ......
记录--Vue的缓存组件 | 详解KeepAlive
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 一. keep-alive 的作用 二. keep-alive 的原理 三. keep-alive 的应用 四. keep-alive 的刷新 五. keep-alive 页面缓存思路 一. keep-alive 的作用 首先引用官 ......
LFU缓存算法(理解容易,主要是代码实现内外双map+双双向链表)
package arithmetic; import java.util.HashMap; public class FaceTest82 { //LFU缓存置换算法 //比较词频,词频相同看时间点 //置换之后,词频重新开始累计 public FaceTest82(int k) { capacit ......
LRUCache算法缓存策略(map+doubleLinkedList)
package arithmetic; import java.util.HashMap; public class FaceTest81 { //LRUcache缓存策略map+双向链表 //get、update、put需要时间复杂度达到O1 //map+双向链表结构 public FaceTes ......
Redis系列之——主从复制原理与优化、缓存的使用和优化
@[toc] ## 一 什么是主从复制 机器故障;容量瓶颈;QPS瓶颈 一主一从,一主多从 做读写分离 做数据副本 扩展数据性能 一个maskter可以有多个slave 一个slave只能有一个master 数据流向是单向的,从master到slave ### 1.1 原理 ```python 1. ......
结构型设计模式-享元(缓存)Flyweight
### 简介 享元模式更常见的叫法是缓存或 cache,一个对象只创建一次,之后一直复用这一对象。 跟单例不同在于,单例是全局只有唯一一个对象,所有人一起用同一个对象,且该对象是提前预设好的,不能定制。 而享元则可以根据参数不同创建出不同的实例,不过实例一旦创建就只保留一份,之后再次创建相同参数的实 ......
C++实现LRU缓存
1 #include <bits/stdc++.h> 2 #include <unordered_map> 3 using namespace std; 4 class Cache { 5 private: 6 int maxlen; //缓存大小 7 unordered_map< int, pai ......
【LRUCache】Python缓存装饰器
# 概念 LRU是Least Recently Used的缩写,意思是最近最少使用,它是一种Cache替换算法。 Cache的容量有限,因此当Cache的容量用完后,而又有新的内容需要添加进来时, 就需要挑选并舍弃原有的部分内容,从而腾出空间来放新内容。LRU Cache 的替换原则就是将最近最少使 ......
地表最帅缓存Caffeine
# 简介 缓存是程序员们绕不开的话题,像是常用的本地缓存Guava,分布式缓存Redis等,是提供高性能服务的基础。今天敬姐带大家一起认识一个更高效的本地缓存——**Caffeine**。  参考上一篇博客https://www.cnblogs.com/ssskkk/p/15417053.html#_label0 这在开发中这是一个很头疼的问题. 解决方案 1.数据insert upd ......
Integer缓存机制随笔
总体主要分为两个方面 ①比较的是值 一、基本数据类型与引用数据类型进行比较时,引用数据类型会进行拆箱,然后与基本数据类型进行值的比较 举例: int i = 12; Integer j = new Integer(12); i == j 返回的是true 二、引用数据类型与基本数据类型进行比较(eq ......
多级缓存架构(5&6)
多级缓存架构 缓存设计 缓存穿透 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失去了缓存保护后端存储的意义。 造成缓存穿透的基本原因有两个: 第一, 自身业务 ......
百亿级访问量,如何做缓存架构设计
文章很长,且持续更新,建议收藏起来,慢慢读 为您奉上珍贵的学习资源 : 免费赠送 :[**《尼恩Java面试宝典》**](https://www. ......
使用批处理命令清除Maven缓存
有时候,某个后端依赖的lastUpdated文件出问题,导致该依赖包一直无法下载。 可以通过清除Maven缓存即清除所有lastUpdated文件来解决。 批处理命令示例如下: @echo off rem 这里写你的仓库路径 set REPOSITORY_PATH=C:\Users\lyh\.m2\ ......
Redis缓存相关问题
缓存穿透:就是,一个请求携带的参数是,id为负一 我缓存中肯定没有,而且数据库肯定也没有,那么这个参数为负一的请求就直接绕过了redis,直接就访问了数据库,这就是缓存穿透 缓存击穿:就是我有一个热点数据,比如秒杀,好巧不巧在秒杀开始的时候,刚好我缓存的KEY到期了,那么秒杀的请求全部打进了我们的数 ......
pwa缓存总结
1.sw.js const cacheName = 'pwa-demo'; // 需要缓存的静态资源 const staticAssets = [ './', './styles.css', './app.js' ]; self.addEventListener('install', async e ......
如何使用ASP.NET Core 中的响应缓存中间件
## 提问 ASP.NET Core 中的响应缓存中间件 ## 回答 1. 缓存条件 请求必须生成带有 200 (OK) 状态代码的服务器响应。 请求方法必须是 GET 或 HEAD。 响应缓存中间件必须放置在需要缓存的中间件之前。 有关详细信息,请参阅 ASP.NET Core 中间件。 不能出现 ......
简述Spring Cache缓存策略
### 一、简介 Spring框架提供了一种名为Spring Cache的缓存策略。Spring Cache是一种抽象层,它提供了一种方便的方式来管理缓存,并与Spring应用程序中的各种缓存实现(如EhCache、Guava、Caffeine等)集成。 Spring Cache使用注解(如@Cac ......
【Nginx】 配置参数(访问、文件传输、压缩、缓存、防盗链)
### 配置访问:root、alias、error_page ```nginx server { listen 80; server_name localhost; # 访问 location ^~/abc { default_type text/plain; return 200 "Welcome ......
Redis系列21:缓存与数据库的数据一致性讨论
[Redis系列1:深刻理解高性能Redis的本质](https://www.cnblogs.com/wzh2010/p/15886787.html "Redis系列1:深刻理解高性能Redis的本质") [Redis系列2:数据持久化提高可用性](https://www.cnblogs.com/w ......
VSCODE 关闭 go 的test缓存
`Ctrl + ,` 进入设置,搜索 `go testFlags`  点击 `Edit in settin ......
django自带的cache缓存框架使用
[https://docs.djangoproject.com/zh-hans/4.2/topics/cache/#top](https://docs.djangoproject.com/zh-hans/4.2/topics/cache/#top) 主要步骤官网也写得很清楚了,包含怎么区使用。 这里 ......
redis缓存优化
[toc] # 一 缓存优化 ## 1.1 缓存更新策略 ```python # redis数据放在内存中,输入如果满了,再放数据 >肯定能放进去 -老数据怎么样? # 方案 LRU -Least Recently Used 没有被使用时间最长的 LFU -Least Frequenty User ......
Redis 缓存满了怎么办?
Redis 缓存使用内存来保存数据,随着需要缓存的数据量越来越大,有限的缓存空间不可避免地会被写满。此时,应该怎么办?本篇文章接下来就来聊聊缓存满了之后的数据淘汰机制。 值得注意的是,在 Redis 中 过期策略 和 内存淘汰策略 是两个完全不同的概念。Redis 过期策略指的是 Redis 使用哪 ......