NoSQL与Redis五次作业回顾

文章目录

    • 1. 作业1
    • 2. 作业2
    • 3. 作业3
    • 4. 作业4
    • 5. 作业5

1. 作业1

要求:
在 VM 上安装 CentOS Linux 系统,并在 Linux 上通过 yum 安装 C++编译器,对 Redis 进行编译安装。

观察 Redis 目录结构,使用 redis-server 启动服务器,分别使用前端模式和后端模式启动
把运行的命令和服务器状态、日志等信息截图,并整理到 word 中,提交 word 文件。

一、运行的命令:

[souranker@localhost ~]$ su root
[root@localhost souranker]# cd root
[root@localhost souranker]# tar -zxvf redis-3.0.7.tar.gz
[root@localhost souranker]# cd redis-3.0.7
[root@localhost redis-3.0.7]# yum install gcc-c++ -y
[root@localhost redis-3.0.7]# make
[root@localhost redis-3.0.7]# make install
[root@localhost redis-3.0.7]# cd /usr/local/bin
[root@localhost redis-3.0.7]# redis-server
[root@localhost redis-3.0.7]# cp redis.conf /usr/local/bin
[root@localhost redis-3.0.7]# cd /usr/local/bin
[root@localhost redis-3.0.7]# vim redis.conf
[root@localhost redis-3.0.7]# redis-server ./redis.conf
[root@localhost redis-3.0.7]# ps -ef | grep redis

二、信息截图:

在这里插入图片描述
在这里插入图片描述

2. 作业2

要求:

  1. 创建多个 redis.conf 文件,并对端口号进行修改,启动多个 redis 服务器,使用 ps 观察服务器进程。
  2. 在 redis 中实现以下操作:
    1)对现有仓库的所有数据进行删除
    2)切换到编号为 2 的数据库
    3)新增键值对分别存储学号,姓名,年龄,性别
    4)切换到编号为3得数据库,使用hash方式存储student对象,保存学号,姓名,年龄,性别信息
    5)切换到编号为4得数据库,使用list方式存储学号,姓名,年龄,性别信息
    6)分别在234数据库中添加email数据,并删除性别信息
  3. 把运行的命令和服务器状态、日志等信息截图,并整理到 word 中,提交 word 文件。

信息截图:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 作业3

在 java中实现以下操作:
1.String类型
1)对现有仓库的所有数据进行删除
2)切换到编号为 0 的数据库
3)新增键值对分别存储学号,姓名,年龄,性别

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
2.Hash类型
1)切换到编号为1得数据库,使用hash方式存储student对象,保存学号,姓名,年龄,性别信息
2)控制台分别单独打印字段名和字段值
3)删除性别信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.List类型
1)切换到编号为2的数据库,使用list方式存储学号,姓名,年龄,性别信息,并在控制台打印
2)在性别信息前新增邮箱信息
3)删除性别信息

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4. 作业4

通过Java代码实现以下功能

  1. 使用 set 类型在 redis 中实现以下操作:
    1)添加 3 个班级的成绩,每个班级使用一个 set 描述,键为班级编号
    2)查看 3 个班级中所有不重复的成绩
    3)对比第一以及第二个班级的成绩,查看第二个班级相比于第一个班级有哪些差异化的成绩
    4)把运行的命令和服务器状态、日志等信息截图,并整理到 word 中,提交 word 文件。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.使用 zset 类型实现以下操作:
1)存储用户姓名以及积分
2)根据积分由高到低排列所有用户的姓名
3)查看姓名为 tom 的用户排名
4)查看积分在 1000-5000 内的所有用户
5)把运行的命令和服务器状态、日志等信息截图,并整理到 word 中,提交 word 文件。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5. 作业5

1.使用mybatis连接mysql数据库并调试成功
2.配置实现redis替代mybatis二级缓存
3.实现redis自动缓存mysql数据并测试

package com.igeek.bean;

import java.util.Date;

public class Student {
    private String ID;
    private String name;
    private Date birthday;
    private Double score;
    private String major;
    private String telphone;

    @Override
    public String toString() {
        return "Student{" +
                "ID='" + ID + '\'' +
                ", name='" + name + '\'' +
                ", birthday=" + birthday +
                ", score=" + score +
                ", major='" + major + '\'' +
                ", telphone='" + telphone + '\'' +
                '}';
    }

    public String getID() {
        return ID;
    }

    public void setID(String ID) {
        this.ID = ID;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public double getScore() {
        return score;
    }

    public void setScore(double score) {
        this.score = score;
    }

    public String getMajor() {
        return major;
    }

    public void setMajor(String major) {
        this.major = major;
    }

    public String getTelphone() {
        return telphone;
    }

    public void setTelphone(String telphone) {
        this.telphone = telphone;
    }
}

package com.igeek.mapper;

        import com.igeek.bean.Student;

public interface StudentMapper {

    Student selectById(String ID);

}







package com.igeek.utils;

        import com.igeek.cache.RedisCache;
        import org.springframework.beans.factory.annotation.Autowired;
        import org.springframework.data.redis.core.RedisTemplate;
        import org.springframework.stereotype.Component;

@Component
public class RedisCacheTranster {
    @Autowired
    public  void setRedisTemplate(RedisTemplate redisTemplate){
        RedisCache.setRedisTemplate(redisTemplate);
    }
}

    <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.igeek.mapper.StudentMapper">

<!--    <cache type="cache.RedisCache"/>-->

<!--    <cache type="com.igeek.cache.RedisCache"/>-->
<!--auto generated Code-->
<select id="selectById" useCache="true" parameterType="String" resultType="com.igeek.bean.Student">
        SELECT *
        FROM student
        where id=#{id}
</select>

</mapper>

        import com.igeek.bean.Student;
        import com.igeek.mapper.StudentMapper;
        import org.junit.Test;
        import org.junit.runner.RunWith;
        import org.springframework.beans.factory.annotation.Autowired;
        import org.springframework.test.context.ContextConfiguration;
        import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class TestMapper {
    @Autowired
    StudentMapper studentMapper;
    @Test
    public void test1(){
        System.out.println("---------第一次查询---------");
        Student student=studentMapper.selectById("1001");
        System.out.println(student);
        System.out.println("---------第二次查询---------");
        Student student1=studentMapper.selectById("1001");
        System.out.println(student);
    }


}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/7269.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android---Jetpack之DataBinding

DataBinding 的意义 让布局文件承担了部分原本属于页面的工作&#xff0c;使页面与布局耦合度进一步降低。 DataBinding 的应用 使用 dataBinding 需要在 gradle 里添加如下代码 dataBinding{enabled true} 应用实现 activity_main.xml <?xml version"1.0" e…

python argparse的使用,本文基本够用

一、前言 在学习深度学习会发现都比较爱用python这个argparse&#xff0c;虽然基本能理解&#xff0c;但没有仔细自己动手去写&#xff0c;因此这里写下来作为自己本人的学习笔记 argparse是python的一个命令行参数解析包&#xff0c;在代码需要频繁修改参数时&#xff0c;方便…

Shell编程之免交互

目录交互的概念与Linux中的运用Here Document 免交互tee命令重定向输出加标准输出支持变量替换多行注释Expect实例操作免交互预设值修改用户密码创建用户并设置密码实现 ssh 自动登录交互的概念与Linux中的运用 交互&#xff1a;当计算机播放某多媒体程序的时候&#xff0c;编…

步进频雷达的一维距离像matlab仿真

步进频雷达的一维距离像matlab仿真发射与回波信号模型距离高分辨原理仿真分析不进行步进频高分辨一维距离像进行步进频高分辨一维距离像代码发射与回波信号模型 步进频率信号发射得的是一串窄带的相参脉冲&#xff0c;每个脉冲的载频之间是均匀线性步进的&#xff0c;经过相参本…

Spring依赖注入详解

1.set注入 启动容器后看看到底能不能拿到teacherService的值。可以看到拿到了值。我们具体来分析怎么注入的 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#populateBean 发现pvs里面有一个我们自己set的值 直接进行属性赋值。 org.springf…

【创作赢红包】Python第3章 流程控制

这里写目录标题【本章导读】真值测试比较运算成员运算for循环while循环项目实训1项目实训2项目实训3项目实训4&#xff1a;项目实训5&#xff1a;项目实训6&#xff1a;项目实训7&#xff1a;项目实训8项目实训9&#xff1a;项目实训10:项目实训11&#xff1a;项目实训12&#…

【Redis7】Redis7 十大数据类型

【大家好&#xff0c;我是爱干饭的猿&#xff0c;本文重点介绍Redis7 十大数据类型。 后续会继续分享Redis7和其他重要知识点总结&#xff0c;如果喜欢这篇文章&#xff0c;点个赞&#x1f44d;&#xff0c;关注一下吧】 上一篇文章&#xff1a;《【Redis7】Redis7概述、安装…

PCB生产工艺流程五:PCB生产工艺流程的第3步,钻孔的分类及目的

PCB生产工艺流程五&#xff1a;PCB生产工艺流程的第3步&#xff0c;钻孔的分类及目的 今天第五期的内容就是详细讲述PCB工艺流程第三步——钻孔&#xff0c;忘记第二步的小伙伴看这里 PCB工艺流程第2步&#xff0c;你了解多少&#xff1f; 钻孔的目的 在板面上钻出层与层之间…

【Java项目】SpringBoot实现一个请求同时上传多个文件和类并附上代码实例

文章目录前言文件多线程兼多文件上传RequestParam和RequestPart的区别前言 项目在做二手市场&#xff0c;然后商品的提交我们希望对商品的描述和商品的照片能一起传递到同一个接口来统一处理&#xff0c;而不是分发到两个接口中去处理&#xff0c;因为如果分到两个接口那么会特…

大语言模型带来的一些启发

仅代表个人看法&#xff0c;不喜勿喷。 The limits of my language means the limits of my world. (Ludwig Wittgenstein) 我的语言的极限意味着我的世界的极限。——维特根斯坦 大语言模型解决的不仅是处理文本相关问题&#xff0c;它带来的是人对世界的理解&#xff0c;或者…

华为网络篇 单臂路由-17

实验难度 2实验复杂度2目录 一、实验原理 二、实验拓扑 三、实验步骤 四、实验过程 总结 一、实验原理 单臂路由&#xff08;router-on-a-stick&#xff09;是指在路由器的一个接口上通过配置子接口&#xff08;或“逻辑接口”&#xff0c;并不存在真正物理接口&…

EasyExcel的简单使用(easyExcel和poi)

EasyExcel的简单使用 前言 Excel读 1.实体类 2.读监听器与测试类 3.输出结果 Excel写 1.实体类 2.写入Excel的测试类 3.输出结果 填充Excel 1.Excel模板 2.测试类 3.输出结果 前言 EasyExcel类是一套基于Java的开源Excel解析工具类&#xff0c;相较于传统的框架如Apache poi、…

Go 语言数组和切片的区别

原文链接&#xff1a; Go 语言数组和切片的区别 在 Go 语言中&#xff0c;数组和切片看起来很像&#xff0c;但其实它们又有很多的不同之处&#xff0c;这篇文章就来说说它们到底有哪些不同。 另外&#xff0c;这个问题在面试中也经常会被问到&#xff0c;属于入门级题目&…

堆及其堆排序

堆是一种特殊的数据结构&#xff0c;底层实现是靠数组存储以及完全二叉树的性质 文章目录一、堆概念二、堆实现三、堆源码四、堆排序一、堆概念 完全二叉树用数组来存储可以达到空间的有效利用且可以直观反映它们之间的逻辑关系&#xff0c;双亲与孩子之间的关系。一般在数组中…

一文说透虚拟内存

为什么我们需要虚拟内存 提供一个虚拟化封装&#xff0c;让上层的程序员不用担心内存分配&#xff0c;物理地址的总大小。同时如果要手动管理内存是一件麻烦的事&#xff0c;比如一个程序读到另一个程序的物理地址&#xff0c;并且也很难保障多个处理器不会同时读取写入同一块…

GitHub Action 使用

GitHub Action 使用 GitHub Actions 是一种持续集成和持续交付 (CI/CD) 平台&#xff0c;可用于自动执行生成、测试和部署管道。 您可以创建工作流程来构建和测试存储库的每个拉取请求&#xff0c;或将合并的拉取请求部署到生产环境。GitHub 提供 Linux、Windows 和 macOS 虚拟…

训练AI数据模型所需要的高性能计算机配置

目录 配置一 配置二 配置三 云服务器和超级计算机 AI模型训练是一种机器学习的过程&#xff0c;通过训练深度学习模型来自动化处理数据和完成任务。AI训练可以帮助企业和研究人员开发出更加智能、高效的应用&#xff0c;从而提高生产力和创新能力。 以下是按训练性能从低到…

对挖矿病毒 kdevtmpfsi 的处理办法

需求背景&#xff1a; 服务器CPU资源使用一直处于100%的状态&#xff0c;通过 top 命令查看&#xff0c;发现可疑进程 kdevtmpfsi。通过 google搜索&#xff0c;发现这是挖矿病毒。 排查方法 首先&#xff1a;查看 kdevtmpfsi 进程&#xff0c;使用 ps -ef | grep kdevtmpfsi …

数据结构之线性表

文章目录1. 线性表的定义2. 线性表的抽象数据类型3. 线性表的顺序存储结构4. 线性表的链式存储结构5. 单链表结构和顺序存储结构优缺点6. 静态链表7. 循环链表8. 双向链表1. 线性表的定义 零个或多个数据元素的有限序列 线性表的定义中强调有限和序列两个方面。 有限&#xff…

华硕ROG|玩家国度 冰刃7双屏 GX650PY Windows11原厂预装系统 工厂模式恢复安装带ASUSRecevory一键还原

华硕ROG|玩家国度 冰刃7双屏 GX650PY Windows11原厂预装系统 工厂模式恢复安装带ASUSRecevory一键还原 文件地址&#xff1a;https://pan.baidu.com/s/1snKOsH3OMl3GZLqeAf-GLA?pwd8888 华硕工厂恢复系统 &#xff0c;安装结束后带隐藏分区以及机器所有驱动软件 需准备一个…