首页 > 其他分享 >缓存初步学习

缓存初步学习

时间:2023-08-02 23:13:09浏览次数:32  
标签:学习 缓存 Redis redis 代理服务器 初步 内存 数据

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,则安装成功。

标签:学习,缓存,Redis,redis,代理服务器,初步,内存,数据
From: https://www.cnblogs.com/lyyd/p/11002409.html

相关文章

  • C和C++进阶的学习笔记总结目录
    C语言–C语言基础知识积累记录学习教程:参考C++教程网之跟我一起学Cdo{…}while(0)的用途汇总(欢迎补充)在一些Linux内核和其它的开源代码中可见到【C语言】《带你学C带你飞》,笔记:链接––C++–一张图总结GoogleC++编程规范(GoogleC++StyleGuide)C++基础学习目录总结参考:链......
  • 七月学习之Iptables链的概念
    2、Iptables链的概念2.1、什么是链在iptables中的关卡为什么被称作"链"呢防火墙的作用就在于对经过的数据报文进行"规则"匹配,然后执行规则对应的"动作",所以当报文经过这些关卡的时候,则必须匹配这个关卡上的规则但是,这个关卡上可能不止有一条规则,而是有很多条规则,当我们把这些规......
  • 特征学习——特征工程自动化,无非类似CNN最后一层softmax前的输出层就是特征表征层,但那
    通过representationlearning,我们可以把一些抽象的知识转化为具体的数值的形式,例如我们使用word2vec对“上下文”的模糊的概念进行了具象的表达,生成的wordvector包含了这种先验知识(具体的表现形式就是常出现在上下文里的单词其向量的距离很接近,实际上理解word2vec是基于embedding......
  • Arthas学习实践
    Arthas是一款线上jvm诊断工具,能够查看java应用到资源使用信息、函数调用统计等,同时还能在不停止jvm运行的情况下,修改运行时代码,查看方法的调用、入参、返回值等。Arthas的关键技术有两方面:java-agent机制与字节码修改(与rasp相同)Arthas采用命令行的方式与用户交互,Arthas的安装过......
  • parquet极简学习
    parquet极简学习摘要parquet的概念:Parquet文件是一种列式存储文件格式,广泛应用于大数据处理框架,如ApacheHadoop和ApacheSpark。它通过将数据组织成列而不是行来优化大型数据集的读写。这种列式存储格式允许进行高效压缩、更好的查询性能,并在处理大型数据集时提高I/O效率......
  • Go 语言中 net/http 标准库的初步使用
    1.概述Go中的net/http库提供了HTTP客户端和服务端的实现。也就是说net/http可以分为客户端和服务器端两部分,库中的结构和函数有些只支持客户端和服务器这两者中的一个,而有些则同时支持客户端和服务器,如下图所示:2.对web服务器的理解的示意图2.1.http服务器(只讨论......
  • 1588学习
    1)https://www.intel.cn/content/www/cn/zh/docs/programmable/683639/16-1/adding-the-external-time-of-day-module.html2.5.3.为具有1588PTP特性的实例添加外部Time-of-Day模块  2)https://www.intel.cn/content/www/cn/zh/docs/programmable/683639/16-1/implementing-a-......
  • Java学习Day06
    第四章流程控制语句一、概述1.1、说明在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。简单来说......
  • Java学习Day07
    第六章方法一、方法1.1、概述在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法。如:小明同学在路边准备坐车来学校学习。这就面临着一件事情(坐车到学校这件事情)需要解决,解决办法呢?可采用坐公交车或坐出租车的方式来学校,那么,这种解决某件事情的办法,我们就称为方......
  • GTD学习资料
    1理论GTD精要掘灵计划0010:被神化了的GTD,究竟能帮我们什么忙?小常识:GTD和时间管理没有半毛钱关系GetThingsDone–Part32实践GTD系列教程4:本草纲目的MLO系统实战总结GTD在滴答清单中的具体实践(模板实现)GTD经验分享:有效率的工作GettingThingsDone(GTD)Flowchart:ACompl......