缓存初步学习
1、缓存是什么
为了解决CPU速度和内存速度的速度差异问题。
顾名思义,就是数据暂存的地方,你可以理解为从磁盘里取出来数据,暂时存放在内存,以待后面处理来读取。而能存放在缓存的数据,通常是频繁访问的,不会经常修改的数据。
2、 缓存的优缺点
优点: ① 减少了对数据库的读操作,数据库的压力降低
② 加快了响应速度
缺点: ① 因为内存断电就清空数据,存放到内存中的数据可能丢失
② 缓存中的数据可能与数据库中数据不一致
③ 内存的成本高
④ 内存容量相对硬盘小
3、
3.1.使用方法
先查询缓存中有没有要的数据,如果有,就直接返回缓存中的数据。如果缓存中没有要的数据,才去查询数据库,将得到数据先存放到缓存中,然后再返回给前端。
3.2.使用场景
代理服务器:它是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,须送出Request信号来得到回答,然后对方再把信息以bit方式传送回来。代理服务器是介于浏览器和Web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。
在正向代理中,是用户设置代理服务器,而在反向代理中,是内容服务器来设置代理服务器。作用:防火墙,负载均衡。
4、缓存的形式
这里主要介绍Cache/Redis
4.1.Cache
命名空间:System.Web.Caching
Cache类的主要方法及其说明
技巧:要想修改缓存数据,只需要重新为缓存赋值即可
4.1.2. ASP.NET CORE使用的命名空间是 Microsoft.Extensions.Caching.Memory
在ConfigureServices中添加中间件,services.AddmemoryCache();
在controller 中声明字段,private readonly IMemoryCache memoryCache;
4.2.Redis
4.2.1.简介
REmote DIctionary Server (Redis)远程字典服务/远程数据服务。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
注:Redis是运行在内存中,但是占用的最大内存可以进行配置(http://www.runoob.com/redis/redis-conf.html)
4.2.2.安装
https://github.com/rgl/redis/downloads下载地址,双击运行安装,安装完成在服务中找到此服务,将其设置为自动延迟启动即可
4.2.3、启动测试(D:\Soft-SetUp\Redis\redis)
启动cmd,切换目录到redis安装目录下。
输入:redis-server.exe redis.windows.conf,启动服务端。
另起一个cmd(不要关掉之前的),输入:redis-cli.exe -h 127.0.0.1 -p 6379;
set test abc;
get test;
输出 abc,则安装成功。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构