自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Redis基础(十三)——Jedis和Linux

文章目录Jedis和LinuxJedis和LinuxJedis操作Redis的命令与Redis命令行的代码相同// 连接RedisJedis jedis = new Jedis("127.0.0.1", 6379);// 关闭连接jedis.close();通过连接池获取连接public class JedisUtils { private static JedisPool jedisPool = null; private static String host = null;

2021-04-16 20:24:01 132

原创 Redis基础(十二)——缓存读写策略

文章目录缓存读写策略1 旁路缓存模式2 读写穿透3 异步缓存写入缓存读写策略1 旁路缓存模式写:先更新DB,然后直接删除cache读:从cache中读数据,读不到就从DB中读数据,再把数据放入cache中2 读写穿透服务端直接从cache中读取写入数据,cache负责将数据读取和写入DB写:先查cache,cache中不存在,直接更新DB;如果存在则更新cache,cache服务负责更新DB读:先查cache,读不到就从DB读,写入cache后从cache返回3 异步缓存写入与读

2021-04-16 20:22:45 331

原创 Redis基础(十一)——缓存穿透和缓存雪崩

文章目录缓存穿透和缓存雪崩1 缓存穿透2 缓存雪崩缓存穿透和缓存雪崩1 缓存穿透大量请求的key不存在于缓存中,导致请求直接到了数据库解决方案数据校验,在接收到请求时判断请求格式是否合法缓存无效key,只要无效的攻击key不变,就可以从缓存中直接返回布隆过滤器,通过的key再进行缓存-数据库的查询2 缓存雪崩同一时间中,大面积的缓存到期,导致后面的请求都直接落到了数据库上解决方案如果是Redis服务不可用的情况,可以使用Redis集群避免单机出现问题设置不同的失效时间,或者永不

2021-04-16 20:21:32 96

原创 Redis基础(十)——性能监控和监视器

文章目录性能监控和监视器1 性能监控2 监视器性能监控和监视器1 性能监控// 压力测试,默认50个连接,10000次请求// 不需要进客户端连接redis-benchmarkredis-benchmark -c 100 -n 5000// 打印服务器调试信息// 需要进客户端连接monitor// 慢查询日志// get: 获取慢查询日志// len: 获取慢查询日志数量// reset: 重置慢查询日志slowlog [get|len|reset]2 监视器客户端可

2021-04-16 20:17:49 128

原创 Redis基础(九)——发布与订阅

文章目录发布与订阅发布与订阅通过执行SUBSCRIBE命令,客户端可以订阅一个或多个频道,当其他客户端向频道发送消息时,订阅者或者匹配频道的订阅者都会收到消息原理订阅:当客户端执行SUBSCRIBE命令时,服务器会将客户端与pubsub_channels字典关联,如果当前频道没有订阅者,则在字典中创建一个当前频道的键,值设置为空链表,客户端添加到链表;如果当前频道有订阅者,则将客户端添加到对应的键的链表末尾退订:当客户端执行UNSUBSCRIBE命令时,与SUBSCRIBE命令操作相反//

2021-04-16 20:16:28 70

原创 Redis基础(八)——集群

文章目录集群1 主从复制1.1 建立连接阶段1.2 数据同步阶段1.3 命令传播阶段2 哨兵2.1 监控阶段2.2 通知阶段2.3 故障转移阶段3 集群集群1 主从复制为提高系统可用性,使用多台服务器提供服务主从复制:将master中的数据即时、有效的复制到slave中如果master宕机了,可以临时推选一个slave当选master作用读写分离负载均衡故障恢复数据冗余,实现数据热备份高可用基石工作流程建立连接阶段数据同步阶段命令传播阶段1.1 建立连接阶段//

2021-04-14 23:36:36 104

原创 Redis基础(七)——事件、服务器、客户端、多线程

文章目录事件、服务器、客户端、多线程1 文件事件2 时间事件3 客户端4 服务器5 多线程事件、服务器、客户端、多线程Redis基于Reactor模式开发了一套高效的事件处理模型,通过IO多路复用程序监听来自客户端的大量连接Redis服务器是一个事件驱动程序,分为文件事件和时间事件1 文件事件服务器对套接字的操作称为文件事件,当被监听的套接字准备好执行连接应答、读取、写入、关闭等操作时,与操作相对应的文件事件就会产生,文件事件分派器会调用关联的事件处理器来处理事件文件事件处理器使用IO多路复用

2021-04-14 23:32:26 140

原创 Redis基础(六)——事务

文章目录事务事务将多个命令请求打包,一次性、按顺序地执行,并且执行期间,服务器不会中断事务去执行其他命令客户端发送MULTI、EXEC、DISCARD、WATCH命令,服务器立即执行开启事务后,客户端发送其他命令,则将命令放入一个事务队列中如果事务中包含的命令有语法错误,所有命令不执行如果事务中包含的命令格式正确,但是无法正确执行,能够运行正确的命令,错误命令不执行// 开启事务,后面提交的命令都加入队列中multi// 取消事务,发生在multi之后,exec之前discard/

2021-04-14 23:31:04 89

原创 Redis基础(五)——删除策略和内存淘汰机制

文章目录删除策略和内存淘汰机制1 删除策略1.1 定时删除1.2 惰性删除1.3 定期删除2 内存淘汰机制删除策略和内存淘汰机制1 删除策略Redis是一个内存级数据库,内存中的数据通过TTL指令获取其状态XX:具有时效性的数据-1:永久有效的数据-2:已经过期的数据过期数据:已经达到了有效期的数据,expires中存储了每个地址上数据的有效时间注意事项Redis服务器实际使用的是惰性删除策略和定期删除策略执行save命令或者bgsave命令所产生的RDB文件不会包含已经过期的键

2021-04-14 23:29:42 156 1

原创 Redis基础(四)——持久化

文章目录持久化1 RDB2 AOF3 总结持久化利用永久性存储介质将数据进行保存持久化保持的方式RDB:数据快照AOF:记录操作过程日志1 RDB以数据快照形式生成.rdb文件,每次服务器启动的时候自动恢复// 手动保存数据,保存的时候会阻塞Redis进程save// 手动保存数据,redis会生成一个子进程,在后台保存数据bgsave// 配置文件配置自动保存,Redis会执行bgsave的方式// 配置文件中相关设置// 设置本地数据库文件名dbfilename d

2021-04-14 23:28:01 94

原创 Redis基础(三)——数据类型

文章目录数据类型1 string2 list3 hash4 set5 sorted_set6 其他数据类型6.1 Bitmaps6.2 HyperLogLog6.3 GEO数据类型key部分永远都是字符串,数据类型指的是value的数据类型key的设置约定:表名:主键名:主键值:字段名,order:id:9527:name1 string采用简单动态字符串SDS注意事项数据操作不成功反馈的数据与正常数据操作之间的差异(0表示失败,1表示成功)数据未获取到返回nil,等同于null数据的最

2021-04-14 22:55:59 65

原创 Redis基础(二)——通用命令和配置

文章目录通用命令和配置通用命令和配置// CMD启动redisredis-serverredis-cli// 退出quitexit// 清除屏幕信息clear// 获取帮助信息help// 删除指定的keydel key// 获取key是否存在exists key// 获取key的类型type key// 查询key,*匹配任意数量的任意符号,?匹配一个任意符号,[]匹配一个指定符号keys pattern// key排序sort// 为指定key设置有效期e

2021-04-14 22:54:28 92

原创 Redis基础(一)——NoSQL

文章目录NoSQL1 NoSQL2 Redis3 Redis和Memcached的对比NoSQL1 NoSQLNoSQL:Not-Only SQL,泛指非关系型数据库,作为关系型数据库的补充作用:应对基于海量用户和海量数据前提下的数据处理问题常见的Nosql数据库RedismemcacheHBaseMongoDB2 RedisRedis(Remote Dictionary Server)是开源的C语言开发的、内存级别的、键值对数据库特征数据间没有必然的关联关系内部采用单线程

2021-04-14 22:52:02 80

原创 Java操作Json工具——Jackson

// Maven配置<dependencies> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.0</version> </dependency> &

2021-04-10 09:20:43 130

原创 Java基础(七)——文件、IO流

文章目录文件、IO流1 流2 BIO3 NIO4 AIO文件、IO流1 流InputStream/Reader:所有的输入流的基类,前者是字节输入流,后者是字符输入流OutputStream/Writer:所有输出流的基类,前者是字节输出流,后者是字符输出流2 BIO同步阻塞IO模型,数据的读取写入必须阻塞在一个线程内等待其完成3 NIO同步非阻塞的IO模型,它支持面向缓冲的,基于通道的IO操作方法应用程序可以一直发送请求,而最后内核返回数据的时候线程依然是阻塞的4 AIO异步

2021-04-04 17:34:03 63

原创 Java基础(六)——容器

文章目录容器1 List1.1 ArrayList和Vector区别1.2 ArrayList和LinkedList区别1.3 ArrayList1.4 Arrays.copyOf1.5 Arrays.asList2 Set2.1 如何检查重复3 Map3.1 HashMap和Hashtable区别3.2 HashMap3.2.1 JDK1.7以前3.2.2 JDK1.8以后4 Collections5 使用Iterator在遍历中删除元素容器1 ListArrayList:Object[]数组

2021-04-04 17:32:18 64

原创 Java基础(五)——泛型

文章目录泛型泛型泛型本质是参数化类型,操作的数据类型被指定为一个参数// 泛型方法public <E> void fun(E p) { ...}// 泛型类class Box<T> { ...}

2021-04-04 17:28:51 66

原创 Java基础(四)——异常、断言、日志

文章目录异常、断言、日志1 异常2 断言3 日志异常、断言、日志在Java语言中,给出了3种处理系统错误的机制抛出一个异常使用断言日志1 异常Error:程序无法处理的错误,无法通过catch捕获Exception:程序本身可以处理的异常,分为受查异常和非受查异常受查异常:如果没有被catch或throw处理的话,无法编译通过非受查异常:即使不处理异常,也可以编译通过无论是否捕获处理异常,finally块都会被执行。如果在try或catch中有return语句,fina

2021-04-04 17:27:34 115

原创 Java基础(三)——反射、代理

文章目录反射、代理1 反射2 静态代理3 动态代理反射、代理1 反射反射机制可以用于动态操作Java代码,能够知道任意一个类的属性和方法,能够调用任意一个对象的属性和方法优点:运行时根据类型判断,动态加载类,提高代码灵活度缺点:性能会慢一些,动态操作类增加了安全隐患获取Class类// 通过类获取Class c = XXX.class;// 通过对象实例获取XXX xxx = new XXX();Class c = xxx.getClass();// 传入类的路径Class c =

2021-04-04 17:25:55 87

原创 Java基础(二)——面向对象

文章目录面向对象1 继承2 接口2.1 Comparable和Comparator3 内部类3.1 非静态内部类3.2 静态内部类3.3 局部内部类3.4 匿名内部类4 Lambda表达式5 函数式接口面向对象封装:把对象的信息隐藏在对象内部继承:子类可以拥有父类的所有属性和方法,子类可以实现自己的属性和方法多态:一个对象具有多种状态,体现在父类引用指向子类实例、或在程序运行期间确定执行哪个方法1 继承Java中只支持单继承super:子类中使用super关键字访问超类,子类构造函数需要先

2021-04-04 17:23:26 61

原创 Java基础(一)——基本语法

文章目录基本语法1 编译和解释共存2 数据类型2.1 常量池技术3 String4 ==和equals()的区别5 equals()和hashCode()6 Java的值传递7 深拷贝和浅拷贝8 重载和重写9 序列化基本语法1 编译和解释共存2 数据类型基本类型位数字节默认值boolean1falsebyte810char162‘u0000’short1620int3240long6480Lfloat

2021-04-04 17:20:29 71

原创 常见Web攻击简介

文章目录常见Web攻击简介1 安全三要素2 安全方案3 浏览器安全策略4 跨站脚本攻击(XSS)5 跨站点请求伪造(CSRF)6 点击劫持(Click Jacking)7 SQL注入8 分布式拒绝服务(DDOS)8.1 CC攻击常见Web攻击简介1 安全三要素机密性:要求保护数据内容不能泄露,加密是实现机密性要求的常见手段完整性:要求保护数据内容是完整的、没有被篡改的,数字签名是常见手段可用性:要求保护资源是随需而得2 安全方案Secure by Default:设置白名单、黑名单最小

2021-04-03 15:10:57 744 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除