缓存 静态 指令proxy_cache

非侵入式入侵 —— Web缓存污染与请求走私

本文介绍了两种攻击者无需直接接触服务端即可攻击和影响用户行为的安全漏洞 —— Web缓存污染与请求走私。Web缓存污染旨在通过攻击者向缓存服务器投递恶意缓存内容,使得用户返回响应结果而触发安全风险。HTTP请求走私旨在基于前置服务器(CDN、反向代理等)与后置服务器对用户请求体的长度判断标准不一致的... ......
缓存 Web

Masa Framework源码解读-02缓存模块(分布式缓存进阶之多级缓存)

序言 ​ 今天这篇文章来看看Masa Framework的缓存设计,上一篇文章中说到的MasaFactory的应用也会在这章节出现。文章中如有错误之处还请指点,咱们话不多说,直入主题。 Masa Framework缓存简介 MASA Framework源码地址:https://github.com/ ......
缓存 分布式 Framework 源码 模块

.NET静态代码织入——肉夹馍(Rougamo) 发布1.4.0

肉夹馍(https://github.com/inversionhourglass/Rougamo)通过静态代码织入方式实现AOP的组件,其主要特点是在编译时完成AOP代码织入,相比动态代理可以减少应用启动的初始化时间让服务更快可用,同时还能对静态方法进行AOP。 距离上一次发文差不多过去半年了,在 ......
静态 Rougamo 代码 NET

【Azure Redis 缓存】示例使用 redisson-spring-boot-starter 连接/使用 Azure Redis 服务

问题描述 在 Spring Boot 项目中,使用 Redisson 连接 Azure Redis 服务,如下是详细的操作步骤(项目源代码文末可下载) 示例步骤 第一步: 在 Spring Boot 的项目中,添加 redisson-spring-boot-starter 依赖 在项目的pom.xm ......

day09-MyBatis缓存

MyBatis缓存 mybatis – MyBatis 3 | cache MyBatis 一级缓存全详解(一) MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。 为了使它更加强大而且易于配置,我们对 MyBatis 3 中的缓存实现进行了许多改进。 1.一级缓存 1 ......
缓存 MyBatis day 09

Redis缓存数据库-快速入门

Redis数据库快速入门 一、Redis数据库 介绍: Redis:非关系型缓存数据库 nosql:非关系型数据库 没有表,没有表与表之间的关系,更不存在外键 存储数据的形式为key:values的形式 c语言写的服务(监听端口),用来存储数据的,数据是存储在内存中,取值,放值速度非常快, 10w ......
缓存 数据库 数据 Redis

一个.Net Core开源缓存中间件,让你更加简单、方便使用缓存

上次给大家推荐过一个缓存中间件《一个C#开发的非常实用的缓存中间件》,今天再给大家推荐一个缓存中间件,两者功能差不多,都是提供统一接口、多级缓存、分布式缓存、支持多种Provider等。 项目简介 这是一个基于.Net Core开发的缓存中间件,它支持各种缓存并提供了很多高级功能。它的主要目标是让开 ......
缓存 中间件 Core Net

轮播图接口加缓存和定时更新(双写一致性问题以及其解决方案)

一、轮播图加缓存 有些知名网站首页被访问的频率很高,假设瞬间 1w个人在访问,首页的轮播图接口会执行1w次,1w次查询轮播图标的sql在执行,轮播图基本不变,首先我们给自己写的轮播图接口加缓存,我们可以用缓存数据库Redis来实现加缓存的需求 首先罗列一下文字版的逻辑,之后在代码上实现 当轮播图接口 ......
一致性 缓存 接口 解决方案 方案

配运基础数据缓存瘦身实践

在基础数据的常规能力当中,数据的存取是最基础也是最重要的能力,为了整体提高数据的读取能力,缓存技术在基础数据的场景中得到了广泛的使用,下面会重点展示一下配运组近期针对数据缓存做的瘦身实践。 ......
缓存 基础 数据

Python常见面试题006 类方法、类实例方法、静态方法有何区别?

006. Python中类方法、类实例方法、静态方法有何区别? 全部放一个里面篇幅过大了,就拆分成1个个发布 示例代码 class Human: def __init__(self, name): self.name = name def say(self): print(f'我的名字是{self. ......
方法 静态 实例 试题 Python

如何在VC++ 6.0中实现拖动指令改变执行路径?

前文提要: 在VC6.0之后出现的VS系列开发工具都具有的调试功能:移动指针更改执行流,VC6不支持这个UI操作。 调试程序暂停时,源代码或“反汇编”窗口边距处的黄色箭头标记要运行的下一条语句的位置。 你可以通过移动此箭头来更改要运行的下一条语句。 你可以跳过代码,或者返回上一行。 在某些情况下移动 ......
指令 路径 6.0 VC

为Jekyll静态网站添加PlantUML插件

前言 突然想起来要好好整理一下自己的博客空间,已经荒废很多年,如果再不捡起来,等到自己知识老化的时候再去写东西就没人看了。 使用Github Pages + Jekyll把博客发布为静态网站,给人感觉比较私密,似乎所有的控制权都抓在自己手里的样子。 但是作为一个技术博客,如果写东西没有PlantUM ......
静态 插件 PlantUML Jekyll 网站

真正“搞”懂HTTP协议10之缓存控制

HTTP缓存相关的问题好像是前端面试中比较常见的问题了,上来就会问什么cache-control字段有哪些,有啥区别啥的。嗯……说实话,我觉得至少在本篇来说,HTTP缓存还算不上复杂,只是字段稍微多了点,大家用心记一下就好啦。 缓存的概念,其实在你访问互联网中的任何资源其所产生的任何链路中的每一个节 ......
缓存 HTTP

真正“搞”懂HTTP协议12之缓存代理

我们在前两篇的内容中分别学习了缓存和代理,大致了解了缓存有哪些头字段,代理是如何服务于服务器和客户端的,那么把两者结合起来,代理缓存,也就是说代理服务器也可以缓存,当客户端请求数据的时候,未必一定要追溯到源服务器上,代理服务器就可以直接把缓存的数据返回给客户端。并且,HTTP的缓存,大多数其实都是由 ......
缓存 HTTP

【Redis场景3】缓存穿透、击穿问题

【Redis场景3】缓存穿透、击穿问题,涉及缓存穿透、缓存击穿问题的原因分析及解决方案,并进行压测实践;每1~2周学习整理redis中的知识点和场景实现,希望有所输入输出,每天进步一点点。 ......
缓存 场景 问题 Redis

用Java写一个分布式缓存——RESP服务端

本篇我们将完成一个RESP的socket的服务端,初步完成一个单机版缓存。 另外我们还需要完成命令的动态路由。 源码:https://github.com/weloe/Java-Distributed-Cache ......
分布式 缓存 Java RESP

“堆外缓存”这玩意是真不错,我要写进简历了。

你好呀,我是歪歪。 之前在《3 招将吞吐量提升了 100%,现在它是我的了》这篇文章中,我在 OHC 堆外缓存上插了个眼: 这次就把这个眼给回收了吧,给你盘一下 OHC。 之前的文章里面说的是啥场景呢,我们先简单回顾一下。 就是一个服务的各项 JVM 的配置都比较合理的情况下,它的 GC 情况还是不 ......
缓存 玩意 简历 我要

Java堆外缓存(一个很有意思的应用)

我们在开发过程中会遇到这样的场景:就是一个服务的各项 JVM 的配置都比较合理的情况下,它的 GC 情况还是不容乐观。分析之后发现有 2 个对象特别巨大,占了总存活堆内存的 90%以上。其中第 1 大对象是本地缓存, GC 之后对象一直存活。然后不久应用就会抛出OutOfMemoryError,那怎 ......
缓存 Java

Asp.Net Core中利用过滤器控制Nginx的缓存时间

前言 Web项目中很多网页资源比如html、js、css通常会做服务器端的缓存,加快网页的加载速度 一些周期性变化的API数据也可以做缓存,例如广告资源位数据,菜单数据,商品类目数据,商品详情数据,商品列表数据,公共配置数据等,这样就可以省去很多在服务端手动实现缓存的操作 最早资源缓存大部分都用Ex ......
过滤器 缓存 时间 Nginx Core

Redis缓存的主要异常及解决方案

作者:京东物流 陈昌浩 1 导读 Redis 是当前最流行的 NoSQL数据库。Redis主要用来做缓存使用,在提高数据查询效率、保护数据库等方面起到了关键性的作用,很大程度上提高系统的性能。当然在使用过程中,也会出现一些异常情景,导致Redis失去缓存作用。 2 异常类型 异常主要有 缓存雪崩 缓 ......
缓存 解决方案 方案 Redis

Linux环境下:程序的链接, 装载和库[静态链接]

看以下例子 main.c extern int x; int main() { int y = 100; swap(&x,&y); return 0; } int x = 1; void swap(int* x, int* y) { int temp = *x; *x = *y; *y = temp ......
链接 静态 环境 程序 Linux

用Java写一个分布式缓存——缓存管理

之前也用过一些缓存中间件,框架,也想着自己是不是也能用Java写一个出来,于是就有了这个想法,打算在写的过程中同步进行总结 源码:https://github.com/weloe/Java-Distributed-Cache ......
缓存 分布式 Java

用Java写一个分布式缓存——缓存淘汰算法

前言 之前也用过一些缓存中间件,框架,也想着自己是不是也能用Java写一个出来,于是就有了这个想法,打算在写的过程中同步进行总结。 源码:weloe/Java-Distributed-Cache (github.com) 本篇代码: Java-Distributed-Cache/src/main/j ......
缓存 分布式 算法 Java

从实战出发,聊聊缓存数据库一致性

在云服务中,缓存是极其重要的一点。所谓缓存,其实是一个高速数据存储层。当缓存存在后,日后再次请求该数据就会直接访问缓存,提升数据访问的速度。但是缓存存储的数据通常是短暂性的,这就需要经常对缓存进行更新。而我们操作缓存和数据库,分为读操作和写操作。 读操作的详细流程为,请求数据,如缓存中存在数据则直接 ......
一致性 缓存 实战 数据库 数据

探讨下如何更好的使用缓存 —— Redis缓存的特殊用法以及与本地缓存一起构建多级缓存的实现

本篇文章,我们就一起聊一聊如何来更好的使用缓存,探寻下如何降低缓存交互过程的性能损耗、如何压缩缓存的存储空间占用、如何保证多个操作命令原子性等问题的解决策略,让缓存在项目中可以发挥出更佳的效果。 ......
缓存 Redis

.NetCore下基于FreeRedis实现的Redis6.0客户端缓存之缓存键条件优雅过滤

前言 众所周知内存缓存(MemoryCache)数据是从内存中获取,性能表现上是最优的,但是内存缓存有一个缺点就是不支持分布式,数据在各个部署节点上各存一份,每份缓存的过期时间不一致,会导致幻读等各种问题,所以我们实现分布式缓存通常会用上Redis 但如果在高并发的情况下读取Redis的缓存,会进行 ......
缓存 FreeRedis 客户端 条件 NetCore

Redis缓存何以一枝独秀?(2) —— 聊聊Redis的数据过期、数据淘汰以及数据持久化的实现机制

Redis作为一个非关系型数据库,由于其超高的并发处理性能,及其对缓存场景所提供的系列能力构建,使其成为了集中缓存的绝佳选择。本篇我们聊聊Redis数据管理的能力,如数据过期、数据淘汰、数据持久化等。 ......
数据 一枝独秀 Redis 缓存 机制

面对集中式缓存实现上的挑战,Redis交出的是何种答卷?聊聊Redis在分布式方面的能力设计

对于一个集中式缓存的分布式能力构建,必须要额外提供一些机制,来保障数据在各个节点上的安全与一致性。本文以Redis为代表,看下集Redis面对上述问题交出的是怎样一份答卷。 ......
Redis 答卷 分布式 缓存 方面

Redis缓存何以一枝独秀?——从百变应用场景与热门面试题中感受下Redis的核心特性与使用注意点

在分布式盛行的今天,本地缓存明显无法满足分布式场景的缓存诉求。作为应对之法,集中式缓存被广泛的使用在各中分布式系统中,而使用最广泛的莫过于大家耳熟能详的Redis了,本篇开始聊一聊Redis相关的内容。 ......
一枝独秀 Redis 缓存 场景 特性

Java类、对象以及(静态)方法的探讨

大家好,这是我的第一篇博客。在这里我想跟大家分享一下Java最基础的Class and Object,也就是我们熟说的类和对象,以及对Java方法的探讨。 初学时的我因为没有对这里面的每一行代码思考透彻,在学习Java中级时感到愈加困难,像是在搭建一栋地基不断摇晃的大楼,越往上盖,越是觉得自己轻浮。 ......
静态 对象 方法 Java