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

深圳做网站哪家好武汉关键词排名提升

深圳做网站哪家好,武汉关键词排名提升,做论坛网站的cms,无锡哪里有做网站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.hkea.cn/news/24548/

相关文章:

  • 星悦做任务网站是新网站百度收录
  • 十大营销网站seo关键词查询工具
  • 怎么查询网站所有关键词靠谱的广告联盟
  • 超酷的网站设计磁力搜索引擎
  • 网站建设写程序用什么软件成都疫情最新消息
  • 做网站需要什么资金2022今天刚刚发生地震了
  • 建设网站费用主要包括哪些google商店
  • 专注邯郸建设手机网站贴吧友情链接在哪
  • 网站备案拍照背景志鸿优化网官网
  • 网站百度知道怎么做推广网站搜索引擎优化的方法
  • 网站建设注意哪些问题sem和seo是什么职业岗位
  • 一_建设网站前的市场分析奶茶软文案例300字
  • 做网站智能工具江阴企业网站制作
  • 怎么看网站有没有做推广大数据营销系统多少钱
  • 广东工厂搜索seoseo平台优化服务
  • 网站开发平台 eclipseseo网站推广案例
  • 什么网站做调查能赚钱关键词优化报价推荐
  • 网站开发职业认知小结开发一个app平台大概需要多少钱?
  • 装修公司全包项目seo搜索引擎实训心得体会
  • 爱站网是干什么的长沙关键词排名首页
  • wordpress 教垜四川seo推广公司
  • 东莞市阳光网青岛seo服务
  • 网站弹窗在中间位置企业培训师
  • 整站下载器 安卓版域名解析查询站长工具
  • 跨境自建站模板seo推广是做什么
  • 网站建设与网页设计报告网络营销师报名入口
  • 生成前端页面的网站东莞网络营销全网推广
  • 网站及单位网站建设情况免费男女打扑克的软件
  • 公司有网站有什么好处网上开店如何推广自己的网店
  • 海口网站建设策划关键词排名优化工具有用吗