栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Linux学习笔记(java项目部署,redis操作)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux学习笔记(java项目部署,redis操作)

Linux

文档地址:
https://gitee.com/kaikaiccc/personal-learning-notes

1、初体验命令
ls查看当前目录下的内容
pwd查看当前所在目录
cd [目录名]移到指定目录
touch 1.txt若文件不存在,创建文件
mkdir test新建文件夹
rm 1.txt删除指定文件
rm -f 1.txt强制删除不询问
rmkdr test删除指定文件夹

使用技巧

  • Tab自动补全
  • 两次Tab给出补全操作提示
  • 上下箭头调出曾经使用的命令
  • clear或ctrl+l实现清屏
2、文件目录操作 1、ls

语法格式

​ ls [-al] [dir]

  • ls

  • ls -a 可以显示隐藏文件目录(.开头的隐藏的文件)

  • ll 除文件名外,同时将文件形(d表示目录,-表示文件)、权限、拥有者、文件大小信息展开

2、cd

语法格式

​ cd [dirname]

  • ~表示home目录
  • . 表示当前目录
  • … 表示当前目录的上一级目录
3、cat

显示文件的内容

语法格式

​ cat [-n] fileName

由1开始对文件每一行进行编号

cat -n /etc/profile

4、more

以分页的形式查看文件

语法格式: more fileName

  • 回车键 向下滚动一行
  • 空格键 向下滚动一屏
  • b 返回上一屏
  • q 或ctrl+c 退出

more /etc/profile

5、tail

查看文件末尾的内容

语法格式: tail [-f] fileName

  • tail /etc/prifile 展示文件后10行
  • tail -20 /etc/profile 展示文件后20行
  • tail -f my.log 动态展示my.log末尾内容并展示
6、mkdir

mkdir -p 1/2/3 可以创建多级目录

7、rmdir

删除目录

rmdir [-p] dirName

-p: 当子目录删除后父目录为空,则一并删除

rmdir -p test/1/2/3

8、rm

删除文件或目录

语法格式: rm [-rf] name

  • rm -r test/ 删除test目录和目录中的文件和目录,删除前要确认
  • rm -rf test/ 删除test目录和目录中的文件和目录,直接删除
  • rm -r tt.txt 删除tt.txt文件,不需要确认
3、文件拷贝 1、cp

用于复制文件或目录

cp [-r] source dest

  • -r :如果复制的是目录,则必须带,此时复制该目录下的所有文件和目录

cp 2.txt test/ 将2…txt 复制到test目录中

cp -r test ityk/ 将test目录复制到ityk中

cp -r test/* itcast/ 将test目录中的内容复制到itcast

2、mv

为文件或目录改名,或将文件或者目录移到其他位置

  • mv 2.txt 1.txt 将2.txt改名为1.txt

  • mv 1.txt ityk/ 将1.txt移动到ityk目录中

  • mv 1.txt ityk/hello.txt 将1.txt移动ityk目录并改名为hello.txt

  • mv ityk/ ithello 若ithello目录不存在,则将ityk改名为ithello

    ​ 若目录存在,则移动到ithello目录

4、文件打包压缩 1、tar

对文件进行解包,压缩,打包

tar [-zcxvf] fileName [files]

包文件后缀为.tar 知识完成了打包,并没有压缩

.tar.gz 表示打包的同时完成了压缩

  • -z 对文件进行压缩或解压
  • -c 创建新的包文件
  • -x 实现从包文件还原文件
  • -v 显示命令的执行过程
  • -f 指定包文件的名称

tar -cvf itcast.tar test

tar -zcvf itcast.tar test.gz

tar -xvf itcast.tar

tar -zxvf itcast.tar.gz

5、文本编辑vim

对文本进行编辑

vim fileName

首先进入命令模式,在这里按 i 可以进入编辑模式,esc返回命令模式

在命令模式,可以进入底行模式

/ 可以对文本进行查找

:wq保存退出,:q!不保存退出,:set nu:显示行号

6、查找命令 1、find

find . -name “*java” 当前目录查找

find /root -name “*java” 指定目录查找

2、grep

grep int Hello.java 从文件中查找内容

JAVA_ HOME=/usr/local/jdk1.8.0_ 171 .
PATH=$JAVA HOME/bin: $PATH

7、软件安装 1、Jdk

2、Tomcat

3、mysql
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server
chown -R mysql:mysql /var/lib/mysql/
mysqld --initialize
systemctl start mysqld

验证是否安装成功

mysqladmin --version
mysqladmin -u root password "new_password";
mysql -u root -p
8、项目部署 1、手工部署

安装lrzsz.x86_64,可用于文件上传(rz)

yum install lrzsz.x86_64

先将本地springboot项目打包

rz上传

项目启动

nohup java -jar springboot_01_01_quickstart-0.0.1-SNAPSHOT.jar &>hello.log &

查看现有进程:ps -ef | grep java

杀死进程:kill -9 45618

2、shell脚本

安装git

yum install git

安装maven,使用rz上传

apache-maven-3.8.6-bin.tar.gz

export MAVEN_ HOME=/usr/local/ apache-maven-3.5.4

export PATH= J A V A H O M E / b i n : JAVA_ HOME/bin: JAVAH​OME/bin:MAVEN_ HOME/bin:$PATH

/usr/local/repo

9、redis 1、安装

linux安装

https://download.redis.io/releases/

  • 将Redis安装包上传到linux
  • 解压 tar -zxvf redis-4.0.0.tar.gz -C /usr/local
  • 安装Redis的依赖环境gcc yum install gcc-c++
  • 进入目录进行编译 make
  • 进入src目录, 进行安装 make install

windows安装

https://github.com/microsoftarchive/redis/releases

安装完解压即可

2、服务启动

配置config文件,在后台启动,不占用窗口

vim redis.conf /dae 将no修改为yes

启动: src/redis-server ./redis.conf

连接: src/redis-cli

设置密码: 进入配置文件 /req 取消注释,设置密码

连接 : src/redis-cli -h localhost -p 6379 -a p123456

允许远程连接

3、常用命令

Redis中文网

1、string字符串
  • set key value 设置键值
  • get key 获取指定key值
  • setex key time value 设置键值有效时间,单位秒
  • setnx key value 若key不存在,设置,若存在,不做任何处理
2、hash哈希
  • hset key field value 将哈希表key中的字段field设置为value
  • hget key field 获取哈希表key中的字段field的value
  • hkeys key 获取哈希表key中的所有字段
  • hvals key 获取哈希表key中的所有值
  • hgetall key 获取哈希表key中所有的字段和值
  • hdel key field 删除哈希表key中的字段field
3、list列表
  • lpush mylist a b c 将一个或多个值插入到列表头部 最后列表形式为 c,b,a
  • lrange mylist 0 -1 获取列表指定范围的值,索引从1开始
  • rpop mylist 删除列表最后一个元素并返回
  • llen mylist 返回列表长度
  • brpop mylist 10 移出并获取列表的最后- -个元素,如果列表没有元素会阻塞列表直到等待超时 或发现可弹出元素为止
4、集合set

set是一个string类型的无序集合,集合成员是唯一的

  • sadd myset a b c 想集合中添加元素
  • smembers myset 查看集合中的所有元素
  • scard myset 查看集合元素的个数
  • sinter myset myset2 返回两集合并集
  • sunion myset myset2 返回两集合交集
  • sdiff myset myset2 返回集合之差
  • srem myset2 x y 删除集合元素
5、有序集合 sorted set

有序string类,每个元素都会关联一个double类型的score,升序,成员是唯一的

  • zadd key score1 value1 [score2 value2] 向有序集合添加一个或多个成员,或更新已存在的成员分数
  • zrange myset3 0 -1 返回有序集合索引区间的成员
  • zincrby mysey3 10 b 想有序集合中的成员b增加分数
  • zrem myset3 b 移除有序集合的中的成员
4、通用命令
  • keys * 返回所有的key
  • exists key 查看key是否存在
  • type key 查看key类型
  • ttl key 查看key有效时间
  • del key
5、java中使用redis

引入依赖


   redis.clients
   jedis
   2.8.0

Jedis jedis = new Jedis("*********", 6379);  host:port
jedis.auth("*****");  // 自己密码
System.out.println(jedis.keys("*"));
1、Spring Data Redis

引入依赖


   org.springframework.boot
   spring-boot-starter-data-redis

配置文件

spring:
  redis:
    host: 
    database: 0
    port: 6379
    password: 

使用

@Autowired
private RedisTemplate redisTemplate;

@Test
void testString() {
   redisTemplate.opsForValue().set("city","beijin");
}

设置序列化器

package com.yk.config;

import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;


@Configuration
public class RedisConfig extends CachingConfigurerSupport {

    @Bean
    public RedisTemplate redisTemplate(RedisConnectionFactory connectionFactory) {
        RedisTemplate redisTemplate = new RedisTemplate<>();

        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());

        redisTemplate.setConnectionFactory(connectionFactory);

        return  redisTemplate;

    }

}
2、操作String
	// 操作String类型数据
     redisTemplate.opsForValue().set("city123","beijin");   // 设置key value

     System.out.println(redisTemplate.opsForValue().get("city123"));    // 获取key中value

      // 设置过期时间
     redisTemplate.opsForValue().set("key1","value1",10l, TimeUnit.SECONDS);

      // 不存在才设置值
      Boolean aBoolean = redisTemplate.opsForValue().setIfAbsent("city1234", "nanjin");
      System.out.println(aBoolean);
3、操作hash
// 操作hash类型的数据
HashOperations hashOperations = redisTemplate.opsForHash();

// 存值
hashOperations.put("002","name","xiaoming");
hashOperations.put("002","age","20");
hashOperations.put("002","addr","guilin");

// 取值
Object name = hashOperations.get("002", "name");
System.out.println(name);

// 获取所有key
Set keys = hashOperations.keys("002");
System.out.println(keys.toString());

// 获取所有value
List values = hashOperations.values("002");
System.out.println(values.toString());
4、操作list
// list列表
ListOperations listOperations = redisTemplate.opsForList();

// 存值
listOperations.leftPush("mylist","a");
listOperations.leftPushAll("mylist","b","c","d");

// 取值
List mylist = listOperations.range("mylist", 0, -1);
for (String s : mylist) {
   System.out.println(s);     // d,c,b,a
}

// 出队列
Long size = listOperations.size("mylist");
int len = size.intValue();
for (int i = 0; i < len; i++) {
   String mylist1 = (String) listOperations.rightPop("mylist");
   System.out.println(mylist1);          // a,b,c,d
}
5、操作set
// set类型操作
SetOperations setOperations = redisTemplate.opsForSet();

// 存值
setOperations.add("myset","a","b","c","a");

// 取值
Set myset = setOperations.members("myset");
System.out.println(myset.toString());

// 删除值
setOperations.remove("myset","b","c");

// 取值
myset = setOperations.members("myset");
System.out.println(myset.toString());
6、操作Zset
// Zset集合
ZSetOperations zSetOperations = redisTemplate.opsForZSet();

// 存值
zSetOperations.add("myZset","a",10);
zSetOperations.add("myZset","b",11);
zSetOperations.add("myZset","c",9);
zSetOperations.add("myZset","a",10);

// 取值
Set myZset = zSetOperations.range("myZset", 0, -1);
System.out.println(myZset.toString());

// 添加分数
zSetOperations.incrementScore("myZet","b",9);
// 取值
myZset = zSetOperations.range("myZset", 0, -1);
System.out.println(myZset.toString());

// 删除元素
zSetOperations.remove("myZset","a","b");
// 取值
myZset = zSetOperations.range("myZset", 0, -1);
System.out.println(myZset.toString());
7、通用操作
// 通用操作

// 获取所有key
Set keys = redisTemplate.keys("*");
System.out.println(keys.toString());

// 查看key对应的类型
DataType myZset = redisTemplate.type("myZset");
System.out.println(myZset.name());

// 判断key是否存在
Boolean aBoolean = redisTemplate.hasKey("myZset");
System.out.println(aBoolean);

// 删除key
redisTemplate.delete("myZset");

// 获取所有key
keys = redisTemplate.keys("*");
System.out.println(keys.toString());
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/995203.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号