Redis

2006-京淘Day11

萝らか妹 提交于 2020-11-02 17:16:17
1.关于tomcat服务器脚本 1.1 问题说明 如果通过命令: java -jar xxx.war 的方式启动服务器时,如果远程的终端关闭之后,那么tomcat服务器也会随之关闭.影响用户的使用. 上述的命令 表示前台运行. 1.2 线上部署的命令 说明: 一般在Linux系统中部署服务器 一般采用后端运行的方式 启动tomcat服务器.并且指定日志文件输出. 命令: nohup java -jar 8081.war -> 8081.log & 1.3 关于文件查看的说明 cat 输出文件所有的内容 more 输出文档所有的内容,分页输出,空格浏览下一屏,q退出 less 用法和more相同,只是通过PgUp、PgOn键来控制 q退出 tail 用于显示文件后几号,使用频繁 tail -10 nginx.conf 查看nginx.conf的最后10行 tail –f nginx.conf 动态查看日志,方便查看日志新增的信息 ctrl+c 结束查看 1.4 Linux 脚本说明 说明: Linux中的"脚本"(外挂-荒野行动)的后缀为.sh 创建文件: vim start.sh 执行脚本: 2 数据库代理说明 2.1 数据库结构的优化 说明:由于需要用户同时链接2台甚至多台数据库时需要引入代理,所以有如下的部署. 注意事项: 用户链接代理服务器 端口号一般:8066端口 2.2

Linux服务部署--Java(一)

泄露秘密 提交于 2020-11-02 14:56:30
网络配置 一、配置dns 1.修改/etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 选项: 2.NetworkManager重新装载上面修改的配置   # systemctl restart NetworkManager.service 手动修改/etc/resolv.conf,,增加dns服务器ip   nameserver 114.114.114.114   nameserver 8.8.8.8 3.验证   ping www.baidu.com ,看能否解析百度ip 二、 安装rz yum -y install lrzsz 安装完后支持rz,sz命令 三、ftp安装及配置 安装:yum -y install ftp vsftpd 设置开机启动:chkconfig vsftpd on 配置 创建账号 adduser ftpuser 创建密码 passwd ftpuser 创建ftp日志文件 touch /var/log/vsftpd.log 创建chroot_list,并将ftpuser用户加入      touch /etc/vsftpd/chroot_lilst      echo ftpuser>>/etc/vsftpd/chroot_list   5.去除ftpuser目录写权限  

redis未授权访问之利用

匆匆过客 提交于 2020-11-02 14:54:08
文章源自【字节脉搏社区】-字节脉搏实验室 作者-Jadore 扫描下方二维码进入社区 : redis简介 Remote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。 redis未授权访问产生原因 Redis 若因配置不当存在未授权访问漏洞,则攻击者可进行恶意利用。当以 root 身份运行时,可以通过root 写入 SSH 公钥文件,直接通过 SSH (默认端口22)登录,从而获取服务器权限。 redis利用场景1:webshell写入 条件:有web服务,知道路径,具有增删改查权限 首先使用redis客户端直接无账号登录redis: 这里假设路径为/home/jadore,可以执行如下命令写入webshell: 靶机上可以看到 edis利用场景2:公私钥免密认证登录SSH 条件:redis以root身份运行 首先我们可以生产一个密钥对,密码为空,命令如下:

表单重复提交

廉价感情. 提交于 2020-11-02 14:38:55
解决方案 1 通过JavaScript屏蔽提交按钮(不推荐) 通过js代码,当用户点击提交按钮后,屏蔽提交按钮使用户无法点击提交按钮或点击无效,从而实现防止表单重复提交。 ps:js代码很容易被绕过。比如用户通过刷新页面方式,或使用postman等工具绕过前段页面仍能重复提交表单。因此不推荐此方法。 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML> <html> <head> <title>表单</title> <script type="text/javascript"> //默认提交状态为false var commitStatus = false; function dosubmit(){ if(commitStatus==false){ //提交表单后,讲提交状态改为true commitStatus = true; return true; }else{ return false; } } </script> </head> <body> <form action="/path/post" onsubmit="return dosubmit()" method="post"> 用户名:<input type="text" name="username">

面试七家大厂Java岗石沉大海,最后面试官给了我些建议(附:java岗经验分享)

帅比萌擦擦* 提交于 2020-11-02 13:22:22
放年假对于程序员的我们应该是我们所期待的事,可去年的年假却让我让我慎得慌,感觉是回到了上学时的暑假。一放就是两个多月,这么长时间的闭门不出让瘦的像猴一样的我长了将近十公斤的膘,这个还是比较高兴的一件事 。可让我痛苦的是我突然的失去了工作,原因只有几点,我想具体是什么原因大家也应该能猜出来。时光飞逝 生活还的继续,在上个月都是不停的在面试,结果却都是回家等通知。 在我感到失望迷茫的时候却意外接到了美团人事的电话,让我带齐资料礼拜一去人事报道,更让我没有想到的是他顺便给我发了一些尚未整理的书籍资料 ,虽未整理内容却很全面。而我也如期的去了公司开始工作,最近利用了两个礼拜的时间才整理好那位好心面试官推荐的内容。好的东西就要分享。大致内容包括: ZooKeeper MyBatis Dubbo Redis MySQL Spring Spring Boot kafka java 并发编程 微服务 tomcat性能优化 以及开源框架 等等。 温馨提示:资料虽整理不易 可好的东西却不能私藏 必须学会分享 要让有需要的朋友大家一起进步 获取方式: 三连之后 后台私信【文档】或者查看下方即可免费获得 MyBatis 方面 什么是 Mybatis? Mybaits 的优点: MyBatis 框架的缺点: Mybaits框架适用场合: MyBatis 与 Hibernate 有哪些不同? #{}和${

关系型数据库和非关系型数据库

时光怂恿深爱的人放手 提交于 2020-11-02 08:22:40
关系型数据库(Mysql和Oracle) 1.表和表、表和字段、数据和数据存在着关系 优点: 1.数据之间有关系,进行数据的增删改查的时候是非常方便的 2.关系型数据库是有事务操作的,保证数据的完整性和一致性。 缺点: 1.因为数据和数据是有关系的,底层是运行了大量的算法 大量算法会降低系统的效率,会降低性能 2.面对海量数据的增删改查的时候会显的无能为力 3.海量数据对数据进行维护变得非常的无力 适合处理一般量级的数据(银行转账和钱) 非关系数据库的(redis和MangDB) 为了处理海量数据,非关系数据库设计之初就是为了替代关系型数据库的关系 优点: 1.海量数据的增删改查是可以的 2.海量数据的维护和处理非常轻松 缺点: 1.数据和数据没有关系,他们之间就是单独存在的 2.非关系数据库没有关系,没有强大的事务关系,没有保证数据的完整性和安全性 适合处理海量数据,保证效率,不一定安全(统计数据,例如微博数据) 来源: oschina 链接: https://my.oschina.net/u/3905833/blog/2878804

Prometheus Redis_exporter

不羁岁月 提交于 2020-11-02 07:49:17
Redis 下载redis_exporter wget https://github.com/oliver006/redis_exporter/releases/download/v0.15.0/redis_exporter-v0.15.0.linux- amd64.tar.gz tar -zxvf redis_exporter-v0.15.0.linux-amd64.tar.gz -C /usr/local/redis_exporter 编写启动脚本 cd /usr/local/ redis_exporte ln -s redis_exporter /usr/sbin/redis- exporter mkdir bin cd bin vim redis - exporter.sh # !/bin/bash basedir =$(cd `dirname $0`/ ..; pwd) redis_host = localhost redis_port =6379 redis_password = abc123 RETVAL = 0 PROG = " redis-exporter " EXEC = " /usr/sbin/redis-exporter " LOCKFILE = " /var/lock/subsys/$PROG " OPTIONS = " -redis.addr

一文快速入门分库分表(必修课)

巧了我就是萌 提交于 2020-11-02 07:37:37
我在网上陆陆续续的也看了一些有关于分库分表的文章,可发现网上同质化的资料有点多,而且知识点又都比较零碎,还没有详细的实战案例。 为了更深入的学习下,我在某些平台买了点付费课程,看了几节课发现有点经验的人看还可以,但对于新手入门来说,其实学习难度还是蛮大的。 为了让新手也能看得懂,有些知识点我可能会用更多的篇幅加以描述,希望大家不要嫌我啰嗦,等这分库分表系列文章完结后,我会把它做成 PDF 文档开源出去,能帮一个算一个吧!如果发现文中有哪些错误或不严谨之处,欢迎大家交流指正。 具体实践分库分表之前在啰嗦几句,回头复习下分库分表的基础概念。 什么是分库分表 其实 分库 和 分表 是两个概念,只不过通常分库与分表的操作会同时进行,以至于我们习惯性的将它们合在一起叫做分库分表。 分库分表是为了解决由于库、表数据量过大,而导致数据库性能持续下降的问题。按照一定的规则,将原本数据量大的数据库拆分成多个单独的数据库,将原本数据量大的表拆分成若干个数据表,使得单一的库、表性能达到最优的效果(响应速度快),以此提升整体数据库性能。 如何分库分表 分库分表的核心理念就是对数据进行切分( Sharding ),以及切分后如何对数据的快速定位与查询结果整合。而分库与分表都可以从: 垂直 (纵向)和 水平 (横向)两种纬度进行切分。 分库分表 下边我们就以订单相关的业务举例,看看如何做库、表的 垂直 和

分布式锁全网最详解!!

断了今生、忘了曾经 提交于 2020-11-02 07:11:58
什么是锁? 在单进程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量。 而同步的本质是通过锁来实现的。为了实现多个线程在一个时刻同一个代码块只能有一个线程可执行,就需要在某个地方做个标记,这个标记必须每个线程都能看到,当标记不存在时可以设置该标记,其余后续线程发现已经有标记了,则等待拥有标记的线程结束同步代码块(取消标记)后再去尝试设置标记。这个标记就可以理解为锁。 不同地方实现锁的方式并不太一样,只要能满足所有线程都能看得到标记即可。如 Java 中 synchronize 是在对象头设置标记,Lock 接口的实现类基本上都只是某一个 volitile 修饰的 int 型变量,其保证每个线程都能拥有对该 int变量 的可见性和原子修改,linux 内核中也是利用互斥量或信号量等内存数据做标记。 除了利用内存数据做锁之外,其实任何互斥的都能做锁(只考虑互斥情况),如流水表中流水号与时间结合做幂等校验可以看作是一个不会释放的锁,或者使用某个文件是否存在作为锁等。只需要满足在对标记进行修改能保证原子性和内存可见性即可。 什么是分布式? 分布式的 CAP 理论告诉我们: 任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性