• JavaWeb部分 (Jedis Maven)


    写在前面:分享技术,共同进步,有不足请见谅,相关意见可评论告知 ~

    编程路漫漫,学习无止尽!

    Jedis

    Jedis: 一款java操作redis数据库的工具.Java客户端
    使用步骤
    1. 下载jedis的jar包
    2. 使用方法

    获取连接

     Jedis jedis = new Jedis("localhost",6379);
    

    操作

    jedis.set("username","zhangsan");
    

    关闭连接

    jedis.close();
    

    回顾数据结构,数据类型

    数据结构

    1. List:可存储相同的值(确切讲是a.equals(b)时,二者都可存储)

    2. Set:不可存储相同值

    3. Map:存储key-value形式的数据。

    在这里插入图片描述

    数据类型
    1、四种整数类型(byte、short、int、long)

    2、两种浮点数类型(float、double)

    3、一种字符类型(char)

    4、一种布尔类型(boolean)

    操作各种redis中的数据结构

    在这里插入图片描述

    一、 字符串类型 string

    1. 获取连接
    Jedis jedis = new Jedis();//如果使用空参构造,默认值 "localhost",6379端口
    
    1. 操作存储 set
    jedis.set("username","zhangsan");
    

    3.获取 get

    String username = jedis.get("username");
    System.out.println(username);
    

    特殊:使用setex()方法存储可以指定过期时间的 key value

    jedis.setex("activecode",20,"hehe");
    

    将activecode:hehe键值对存入redis,并且20秒后自动删除该键值对

    4.关闭连接

    jedis.close();
    

    二、哈希类型 hash : map格式

    1. 获取连接
    Jedis jedis = new Jedis();//如果使用空参构造,默认值 "localhost",6379端口
    
    1. 操作存储hash
    jedis.hset("user","name","lisi");
    jedis.hset("user","age","23");
    jedis.hset("user","gender","female");
    

    3.获取hash

    String name = jedis.hget("user", "name");
    System.out.println(name);
    

    获取hash的所有map中的数据

    Map<String, String> user = jedis.hgetAll("user");
    // keyset
    Set<String> keySet = user.keySet();
    for (String key : keySet) {
    	   //获取value
    String value = user.get(key);
    System.out.println(key + ":" + value);
    	        }
    
    1. 关闭连接
    jedis.close();
    

    三、列表类型 list

    linkedlist格式。支持重复元素

    lpush / rpush
    lpop / rpop
    lrange start end : 范围获取
    

    操作,list 存储

    jedis.lpush("mylist","a","b","c");//从左边存
    jedis.rpush("mylist","a","b","c");//从右边存
    	
    

    list 范围获取

    List<String> mylist = jedis.lrange("mylist", 0, -1);
    System.out.println(mylist);
    

    list 弹出

    String element1 = jedis.lpop("mylist");//c
    System.out.println(element1);
    

    四、集合类型 set : 不允许重复元素

    sadd
    smembers:获取所有元素

    set 集合存储

    jedis.sadd("myset","java","php","c++");
    

    set集合 获取

    Set<String> myset = jedis.smembers("myset");
    System.out.println(myset);
    

    五、有序集合类型 sortedset

    不允许重复元素,且元素有顺序
    zadd
    zrange

    操作 sortedset 存储

    jedis.zadd("mysortedset",3,"亚瑟");
    jedis.zadd("mysortedset",30,"后裔");
    jedis.zadd("mysortedset",55,"孙悟空");
    

    sortedset 获取

    Set<String> mysortedset = jedis.zrange("mysortedset", 0, -1);
    System.out.println(mysortedset);
    

    Jedis连接池

    JedisPool使用:
    1.创建一个配置对象

    JedisPoolConfig config = new JedisPoolConfig();
    config.setMaxTotal(50);
    config.setMaxIdle(10);
    
    1. 创建JedisPool连接池对象
    JedisPool jedisPool = new JedisPool(config,"localhost",6379);
    
    1. 调用方法 getResource()方法获取Jedis
      //2.获取连接
    Jedis jedis = jedisPool.getResource();
     //3. 使用
    jedis.set("hehe","heihei");
    

    连接池工具类

    
    public class JedisPoolUtils {
    
    private static JedisPool jedisPool;
    	 static{
    			    //读取配置文件,类加载器
    	 InputStream is = JedisPoolUtils.class.getClassLoader().getResourceAsStream("jedis.properties");
    //创建Properties对象
     Properties pro = new Properties();
    	  //关联文件
    	try {
    	   pro.load(is);
    	    } catch (IOException e) {
    	        e.printStackTrace();
    			        }
    	 //获取数据,设置到JedisPoolConfig中
    JedisPoolConfig config = new JedisPoolConfig();
    			        config.setMaxTotal(Integer.parseInt(pro.getProperty("maxTotal")));
    			        config.setMaxIdle(Integer.parseInt(pro.getProperty("maxIdle")));
    			
    //初始化JedisPool
    jedisPool = new JedisPool(config,pro.getProperty("host"),Integer.parseInt(pro.getProperty("port")));
    
    }
    
     public static Jedis getJedis(){
    			        return jedisPool.getResource();
    			    }
    			}
    

    使用连接池工具类

    public void test(){
    // 通过数据池工具类获取
    Jedis jedis + JedisPoolUtils.getJedis() ;
    
    // 使用
    jedis.set("key","value") ;
    
    // 关闭,归还至数据池
    jedis.close() ;
    }
    

    回顾将list序列化为json

    ObjectMapper mapper list = service.findAll() ;
    String json = mapper.writeValueAsString(list) ;
    

    Maven

    解压目录

    在这里插入图片描述

    配置环境变量(此电脑右键属性)

    配置完成如图
    在这里插入图片描述

    中央仓库

    在这里插入图片描述

    在这里插入图片描述

    标准目录结构

    src/main/java目录 核心代码部分
    src/main/resources 配置文件部分
    src/test/java目录 测试代码部分
    src/test/resources 测试配置文件
    src/main/webapp 页面资源,js,css,img

    项目介绍
    在这里插入图片描述

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

    Maven 常用命令

    clean
    clean是 maven工程的清理命令,执行 clean会删除 target目录及内容
    在这里插入图片描述

    compile

    compile是 maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到 target目录下
    在这里插入图片描述

    test
    test是 maven工程的测试命令 mvn test,会执行 src/test/java下的单元测试类
    cmd执行 mvn test执行src/test/java下单元测试类,下图为测试结果,运行1个测试用例,全部成功

    package
    package是 maven工程的打包命令,对于java工程执行 package打成jar包,对于web工程打成war包

    install
    instal是 maven工程的安装命令,执行install将 maven打成jar包或war包发布到本地仓库。从运行结果中,可以看出当后面的命令执行时,前面的操作过程也都会自动执行

    在这里插入图片描述

    生命周期

    在这里插入图片描述

    Maven概念图

    在这里插入图片描述

    Idea配置

    注意:首页 -> setting -> 搜索Maven -> Runner -> VM Options 设置为-DarchetypeCatalog=internal

    在这里插入图片描述
    开始Maven

    使用骨架创建maven的java工程

    在这里插入图片描述
    解决开始项目导入仓库缓慢问题
    问题原因:Maven服务器在国外
    解法:使用阿里镜像,在Setting.xml文件中编辑
    在这里插入图片描述

    一段时间后 -> 配置完成图
    在这里插入图片描述
    有些目录需要手动配置 eg: resource (add as library -> 作为根目录(可以在其中台添加文件))

    使用骨架创建maven的web工程

    -
    在这里插入图片描述

    坐标

    pom.xml 中配置项目运行所依赖的jar包
    在这里插入图片描述
    注意:作用域的填写,否则报错
    在这里插入图片描述

    <scope>provided</scope>
    <scope>test</scope>
    

    在这里插入图片描述

    定制模板

    为tomcat7 ,jdk 插件定制模板
    在这里插入图片描述

    基于实战中学习,学习快乐中成长
    .
    时间会回答成长,成长会回答梦想

  • 相关阅读:
    启用和配置 FILESTREAM
    SQL SERVER的锁机制(四)——概述(各种事务隔离级别发生的影响)
    SQL SERVER的锁机制(三)——概述(锁与事务隔离级别)
    系统性能测试 IO--AIX
    存储前端
    Markdown的css样式源码
    Typora +google + Markdown Here 公众号
    存储学习
    ChsLLVMDocs
    Parallel Database for OLTP and OLAP
  • 原文地址:https://www.cnblogs.com/lzhCreate/p/13439736.html
Copyright © 2020-2023  润新知