当前位置: 首页 > news >正文

linux网站建设技术指南做网站报价出名的

linux网站建设技术指南,做网站报价出名的,vi展示效果图,网站做信息流Redis 一、为什么要用缓存? 缓存定义 缓存是一个高速数据交换的存储器,使用它可以快速的访问和操作数据。 程序中的缓存 在我们程序中,如果没有使用缓存,程序的调用流程是直接访问数据库的; 如果多个程序调用一个数…

Redis

一、为什么要用缓存?

缓存定义

缓存是一个高速数据交换的存储器,使用它可以快速的访问和操作数据。

程序中的缓存

在我们程序中,如果没有使用缓存,程序的调用流程是直接访问数据库的;
在这里插入图片描述

如果多个程序调用一个数据库,那么调用流程就如下图:

在这里插入图片描述

所以不同程序调用一个数据库,会给数据库的压力增大,这个时候缓存的作用就体现出来了;

在这里插入图片描述

建立一个缓存系统,缓解数据库压力。

缓存的优点

  1. 缓存是 key-value 类型,存储结构简单,所以查询效率比较快

  2. 缓存是存储在内存中的,而一般的数据库是将数据存储在磁盘。

    内存操作>磁盘操作速度,因此缓存的操作和读取比较快

  3. 缓存可扩展性比较强,因此它的负载能力、更改、查询效率更快。

二、缓存分类

缓存大致分为两类:

  • 本地缓存
  • 分布式缓存

本地缓存也叫单机缓存,就是说可以应用在单机环境下的缓存。所谓的单机环境是指将服务部署在一台服务器上。

本地缓存只适用于当前系统。

分布式缓存是指可以应用在分布式系统中的缓存。所谓的分布式系统就是指一套服务部署到多台服务器,并且通过负载分发将用户的请求按照一定的规则分发到不同服务器。

三、常见缓存使用

本地缓存的常见使用: Spring Cache ,MyBatis的缓存

分布式缓存的常见使用:RedisMemcached

本地缓存:Spring Cache

SpringBoot 项目中,可以直接使用 Spring 内置的 Cache 【本地缓存】,只需要三个步骤:

  1. 开启缓存
  2. 操作缓存
  3. 调用缓存

【1】开启缓存

springbooot启动类上加上 @EnableCaching 注解。

package com.example.redis;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;@SpringBootApplication
@EnableCaching // 开启缓存
public class RedisApplication {public static void main(String[] args) {SpringApplication.run(RedisApplication.class, args);}}

【2】操作缓存

操作类【操作方法】

package com.example.redis.service;import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;/*** @author SunYuHang* @date 2023-02-14 09:41* @ClassName : UserService  //类名*/
@Service
public class UserService {@Cacheable(cacheNames = "user",key="#id")public String getUser(int id){//伪代码System.out.println("我进入了getUser方法");return "ID:"+id;}
}

【3】调用缓存

使用类

package com.example.redis.controller;import com.example.redis.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @author SunYuHang* @date 2023-02-14 09:43* @ClassName : UserController  //类名*/
@RequestMapping("/user")
@RestController
public class UserController {@AutowiredUserService userService;@RequestMapping("/get")public String getUser(int id){return userService.getUser(id);}
}

使用Postman进行测试

在这里插入图片描述

第一次进入getUser方法

在这里插入图片描述

有了缓存之后,我们第二次访问该方法
在这里插入图片描述

控制台就不会进行信息的打印了。

在这里插入图片描述

分布式缓存

在这里插入图片描述

RedisMemcached 有什么区别?

  • 存储方式不同: memcached 把数据全部存在内存中,断电后会挂掉,数据不能超过内存大小;Redis 有部分存在硬盘上,这样搞就能保证数据的持久性;
  • 数据支持类型: memcache 对数据类型支持相对简单; Redis 有复杂的数据结构;
  • 存储值大小不同:Redis 最大可以达到 512MB; memcache 只有 1MB。

**总结一下:**通常情况下,如果是单机Spring项目,会直接使用 Spring Cache 作为本地缓存;如果分布式环境一般使用 Redis

四、Redis 数据类型和使用

Redis 有 5 大基础数据类型:

  • String——字符串类型
  • Hash——字典类型
  • List——列表类型
  • Set——集合类型
  • ZSet——有序集合类型

其中最常用的就是字符串和字典类型。

下面我们先来进行一下Redis 的安装。

Redis 的安装

此处的 Redis 安装是针对 Linux 版本的安装, 由于 Redis 官方没有提供 Windows 版本, 只提供了 Linux 版本. 但是我们可以通过Windows 去 远程连接 Redis.【这里我使用的是xshell】

1.使用 yum 安装 Redis

使用如下命令, 将 Redis 安装到 Linux 服务器:

yum -y install redis

2.启动 Redis

使用如下命令, 以后台运行的方式启动 Redis:

redis-server /etc/redis.conf &

/etc/redis.conf 表示使用 Redis 默认的配置文件

& 表示后台运行

做了这两个步骤之后, 就可以在本地远程操控 Redis 了, 不过需要修改配置文件

3.操作 Redis

使用如下命令启动 Redis 客户端 :

redis-cli

在这里插入图片描述

4.本地远程连接

将 Redis 配置文件下载到本地. 该配置文件为 Linux 下的 /etc/redis.conf

先 cd 到 Redis 配置文件的路径下.

使用 sz 命令, 将文件下载到本地.

在这里插入图片描述

redis.conf 中的 “bind 127.0.0.1” 注释掉.

在这里插入图片描述

redis.conf 中的 :“protected-mode yes” 改为 “protected-mode no”.

在这里插入图片描述

将修改后的 redis.conf 上传至 Linux 下的 /etc 目录.

rm -rf redis.conf -> 删除旧的配置文件

在这里插入图片描述

将本地更新的配置文件拖拽到 xshell 中.

使用命令 “redis-cli shutdown” 先关闭 redis 服务, 再使用 “redis-server /etc/redis.conf &” 启动 redis 服务.
在这里插入图片描述

安装 Redis 可视化工具
下载链接 : AnotherRedisDesktopManager

安装好了之后, 先把 6379 端口放开 :

在这里插入图片描述

打开可视化工具, 新建一个连接.

  1. Host 填自己云服务器的外网IP.
  2. Port 填写 6379.

当连接建立成功之后, 我们在 redis 默认的数据库中可以看到刚才创建的键值对

在这里插入图片描述

当然也就可以在可视化界面操作 Redis 了.

Redis数据类型

【1】字符串类型

【2】字典类型

【3】列表类型

【4】集合类型

【5】有序集合类型

持续更新中~~~

http://www.hyszgw.com/news/78390.html

相关文章:

  • 城乡建设官方网站电商网站开发参考文献
  • 网站专题特点wordpress主题基础
  • 汕头模版网站建设wordpress别名时间戳
  • 建设工程施工合同网站手机号电子邮箱免费注册
  • 网站建设过程发生的费用nas无公网wordpress
  • 易班班级网站建设展示PPT平面设计都学什么
  • 做境外旅游的网站wordpress后台不提醒更新
  • 网站开发的作用滁州建设网站
  • 80后陈某做盗版视频网站设计网站中如何设置特效
  • 网站建设中 单页wordpress页面导航条
  • dw网站导航怎么做做视频网站 带宽
  • 西安网站建设多少钱石家庄的网站建设
  • 常州哪家做网站好查看楼盘卖房信息在哪查
  • wordpress手机端网站模板下载失败iapp如何用网站做软件
  • 网站建设文化咨询兴宁网站建设
  • 奇想网站建设南通市城乡和住房建设局网站
  • 郑州平台网站建设wordpress 163 授权码
  • 高端网站建设968商城网站wordpress
  • 大连网站建设好的公司石家庄seo结算
  • 学校网站建设开发项目计划报告网站建设教学设计
  • 义乌网站建设推广专家网站怎么做出来的
  • 虚拟主机 网站镜像自己的网站发文章怎么做外链
  • 马鞍山建站wordpress怎么修改头像
  • 做app好还是响应式网站大数据和网站开发
  • 做企业宣传网站公司做百度网站营业执照用注销吗
  • 青海城乡建设部网站社交平台网站建设预算
  • 旅游网站营销深圳网站建设营销策划
  • 网站套餐方案如何在一个地方建设网站
  • 网站seo如何优化进出长春今天最新通知
  • 建筑设计类英文的网站在线图片生成网页链接