手把手教你AspNetCore WebApi:缓存(MemoryCache和Redis)

前言 这几天小明又有烦恼了,系统上线一段时间后,系统性能出现了问题,马老板很生气,叫小明一定要解决这个问题。性能问题一般用什么来解决呢?小明第一时间想到了缓存。 什么是缓存 缓存是实际工作中非常常用的一种提高性能的方法。 缓存可以减少生成内容所需的工作,从而显著提高应用程序的性能和可伸缩性。 缓存最 ... »

详解工程师不可不会的LRU缓存淘汰算法

大家好,欢迎大家来到算法数据结构专题,今天我们和大家聊一个非常常用的算法,叫做LRU。 LRU的英文全称是Least Recently Used,也即最不经常使用。我们看着好像挺迷糊的,其实这个含义要结合缓存一起使用。对于工程而言,缓存是非常非常重要的机制,尤其是在当下的互联网应用环境当中,起到的作 ... »

非功能性约束之性能-性能银弹:缓存

性能是架构设计时需要着重考虑的一个非功能性约束,而引入缓存是提高系统性能的一个简单且直接的方法。本文从一个简单的伪代码开始,简单阐述了,缓存的作用,涉及的技术以及目前缓存的使用场景,以期能对架构设计提供一些参考。 ... »

Solon详解(八)- Solon的缓存框架使用和定制

Solon详解系列文章: Solon详解(一)- 快速入门 Solon详解(二)- Solon的核心 Solon详解(三)- Solon的web开发 Solon详解(四)- Solon的事务传播机制 Solon详解(五)- Solon扩展机制之Solon Plugin Solon详解(六)- Sol ... »

案例解读:深入理解浏览器的缓存机制

摘要:缓存可以减少网络 IO 消耗,提高访问速度。浏览器缓存是一种操作简单、效果显著的前端性能优化手段。 前言 浏览器缓存是前端性能优化的重要一环,对于前端效率提升的重要性,不言而喻。 之前对于浏览器缓存也是一知半解,这次借着H5页面缓存优化的东风整理了一下本地浏览器端的缓存机制,如强制缓存、协商缓 ... »

Spring Cache缓存注解

Spring Cache缓存注解 本篇文章代码示例在Spring Cache简单实现上的代码示例加以修改。 只有使用public定义的方法才可以被缓存,而private方法、protected 方法或者使用default 修饰符的方法都不能被缓存。 当在一个类上使用注解时,该类中每个公共方法的返回值 ... »

hibearnate的一级缓存和二级缓存的功能

首先要明白缓存是干什么的,缓存就是要将一些经常使用的数据缓存到内存或者各种储存介质中,当再次使用时可以不用去数据库中查询,减少与数据库的交互,提高性能。再说明一级与二级缓存的作用:一级缓存是Session级别的,也就是说在一个事务中才会启作用。比如在一个事务中同时查询同一个对象,则不会两次去数据库中 ... »

009.Nginx缓存及配置

一 浏览器缓存 1.1 缓存概述 缓存对于Web至关重要,尤其对于大型高负载Web站点。Nginx缓存可作为性能优化的一个重要手段,可以极大减轻后端服务器的负载。通常对于静态资源,即较少经常更新的资源,如图片,css或js等进行缓存,从而在每次刷新浏览器的时候,不用重新请求,而是从缓存里面读取,这样 ... »

腾讯云Redis混合存储版重磅推出,万字长文助你破解缓存难题!

导语 | 缓存+存储的系统架构是目前常见的系统架构,缓存层负责加速访问,存储层负责存储数据。这样的架构需要业务层或者是中间件去实现缓存和存储的双写、冷热数据的交换,同时还面临着缓存失效、缓存刷脏、数据不一致等问题。本文是对腾讯云数据库高级产品经理邹鹏老师在「云加社区沙龙online」的分享整理,希望 ... »

07.Django-缓存

缓存 缓存是将一些常用的数据保存到内存或者memcache中。在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或memcache的缓存中去取得数据,然后返回给用户。 一、如何提高网站并发量? cdn加速:把静态资源放到别人服务器 精灵图 后台数据库用mysql+re ... »

缓存,确实很香,却也很受伤!

缓存的使用,是一个逐渐演进的过程。 问一下你自己,最直接的使用缓存的原因是什么? 无它,唯快而已! 追溯一下自己最开始使用缓存的场景,一些数据库里存储的不变的配置信息,服务启动时,直接加载到本地公共模块,方便其它功能模块共享使用。这便是最基本,最简单的本地缓存应用。 一、服务与缓存 所谓的服务,简而 ... »

NoSQL之一:Memcached

一、NoSQL简介 NoSQL并不是No SQL(不再需要SQL),而是指Not Only SQL(不仅仅只有SQL)。NoSQL并不是用来替代关系型数据库的,而是在某些使用关系型数据库不合适的场景中,可以使用NoSQL数据库进行优化,而在系统中主要的、常规的数据仍然使用关系型数据库。 常用的NoS ... »

Redis原子性写入HASH结构数据并设置过期时间

Redis中提供了原子性命令SETEX或SET来写入STRING类型数据并设置Key的过期时间: 但对于HASH结构则没有这样的命令,只能先写入数据然后设置过期时间: 这样就带了一个问题:HSET命令执行成功而EXPIRE命令执行失败,那么数据将不会过期。针对这个问题,本文提供两种解决方案: Lua ... »

NoSql浅谈

什么是NoSql NoSQL(Not Only SQL),泛指非关系型的数据库,是对不同于传统的关系型数据库的数据库管理系统的统称,强调Key-Value Stores和文档数据库的优点。为了解决大规模数据集合多重数据种类带来的挑战而兴起的数据库。有着模式自由,逆规范化,多分区存储,弹性可扩展,多副 ... »

就这样,使用guava快速创建两级缓存能力

首先,咱们都有一共识,即可以使用缓存来提升系统的访问速度! 现如今,分布式缓存这么强大,所以,大部分时候,我们可能都不会去关注本地缓存了! 而在一起高并发的场景,如果我们一味使用nosql式的缓存,如 redis, 那么也是好的吧! 但是有个问题我们得考虑下: redis 这样的缓存是快,但是它总有 ... »