redis
redis一款NOSQL(not only sql)非关系型数据库(键值对数据库)(对关系型数据库进行弥补),数据之前没有关联,存储在内存中更快(关系型数据库存储在硬盘文件上并有数据关联)。
redis.windows.conf配置文件,redis-cli.exe客户端,redis-server.exe服务器端。可以在中文网进行下载。
redis五种数据结构:字符串string、哈希类型hashmap,列表类型linkedlist,集合类型set,有序集合sortedset。
字符串存储set key value,获取 get key,删除del key。哈希类型存储hset key field value,获取hget key field(hget key获取所有field和value对),删除hdel key field。
列表类型存储lpush/rpush key value将元素加入左边/右边,lrange key start end范围获取,lpop key,rpop key弹出列表最左边,右边元素。
集合类型存储sadd key value,获取semebers key获取set集合中所有元素,srem key value删除某个元素。有序集合存储zadd key score value,获取zrange key start end [获取全部使用0 -1,使用withscores显示分数],删除zrem key value。有序集合根据分数进行排序显示。
key * 查询所有键,type key:获取键对应的value类型,del key删除指定的key value。
redis操作
redis持久化(内存数据保存硬盘rdb文件,重启后重新加载),在启动服务器时候加入redis.windows.conf文件作为参数(命令行操作)。
默认使用RDB方式,定时检测key变化情况,进行持久化。编辑redis.windows.conf文件,修改save的方式自定义持久化条件。
AOF使用日志记录方式(appendonly 在配置文件中打开,并配置自定义的持久化,aof文件),检测每一条命令进行持久化。
Jedis为Java操作redis数据库的工具,下载jar包,使用Jedis对象,构造参数传入套接字(默认localhost6379则可省略),使用set方法进行操作,使用close方法关闭。
Jedis的方法和操作redis的命令行相同,传入参数即可。其他如:setex方法传入键时间和值用于存储指定时效的数据。
Jedis连接池:创建JedisPool连接池对象,调用getResource方法获取连接返回Jedis对象进行操作,最后关闭Jedis对象close即可。创建前可以配置对象使用JedisPoolConfig对象,设置setMaxTotal和setMaxIdle方法,最后传入创建的连接池对象。
创建JedisPool工具类,然后建立一个jedis.properties,方便使用。使用redis缓存查询一些不经常发生变化的数据,数据变化后需要重新获取。
maven
maven下的bin,boot自身运行的类加载器,conf配置文件,lib包含了tomcat插件等。配置MAVEN_HOME和PATH。maven放置了jar包的坐标,其conf下的setting.xml中配置了默认的jar包位置,设置localRepository标签可以修改jar包位置。
maven从中央仓库下载jar包到本地仓库。单位构建了远程仓库,本地仓库从远程仓库下载jar包,远程仓库不存在则其远程仓库从中央仓库下载jar包。
maven标准目录分为核心代码(src/main/java),配置文件(src/main/resources),测试代码(src/test/java),测试配置(src/test/resource),页面资源js/css等(src/main/webapp)。
mvn clean命令删除target目录(编译的结果),mvn compile进行编译,形成target目录和文件。mvn test编译并形成测试代码和核心代码的目标target。
mvn package命令,将核心和测试代码达成war包(默认),形成target。mvn install命令,编译所有,打包,安装到本地仓库形成war包。
mvn deploy发布项目(执行了编译,测试,打包,安装,发布操作[为默认声明周期,clean清除声明周期,执行完depoly变成站点生命周期])。声明周期可以通过idea的右边按钮双击执行。idea也可以执行输入的命令。
pom.xml项目对象模型(导入该文件就可以导入整个maven项目),存放项目自身信息,依赖jar包信息,运行环境信息。每一个构建项目命令(编译,测试,打包等)都对应了maven底层的一个插件。
创建maven,使用idea可以创建一个项目骨架(如maven-archetype-quickstart)自动生成。然后手动补齐如配置目录等,然后设置标记该目录为配置目录等。不使用骨架更快创建并有三个标准目录。
配置Project Setting下的Modules下maven下Web下的Web Resource Directory添加路径,可以允许idea在meaven下一些位置通过右键创建jsp文件。
配置pom.xml:dependencies标签下的dependency标签中的包名,项目名包名版本等进行导包,也可以添加作用域scope减少和本地存在的jar包冲突。导入jar包则可通过中央仓库中生成的代码写入到pom中。
配置新版本(旧版本仍然存在)的tomcat和jdk等项目可以:build标签下的plugins标签下plugin标签下的项目包名版本等,configuration标签下的port修改端口,target,source的版本,encoding的编码。这里的代码提示可以通过Live Temp动态模板,创建组和模板,配置xml使用,就可以动态补全。
说明
后期的附带综合项目因为要求和目的不同,或者懒得读,需要开发再重新看吧。
其中的邮件验证码验证应该是很好的。
只留一个图: