转载和引用,请注明原文出处! Fork me on GitHub
结局很美妙的事,开头并非如此!

01 2018 档案

摘要:redis支持RDB和AOF两种持久化机制,持久化可以避免因进程退出而造成数据丢失 一、RDB持久化 RDB持久化把当前进程数据生成快照(.rdb)文件保存到硬盘的过程,有手动触发和自动触发 手动触发有save和bgsave两命令 save命令:阻塞当前Redis,直到RDB持久化过程完成为止,若内 阅读全文
posted @ 2018-01-29 22:20 小不点啊 阅读(2064) 评论(0) 推荐(1) 编辑
摘要:一、 慢查询原因分析 与mysql一样:当执行时间超过阀值,会将发生时间耗时的命令记录 redis命令生命周期:发送 排队 执行 返回慢查询只统计第3个执行步骤的时间 预设阀值:两种方式,默认为10毫秒1,动态设置6379:> config set slowlog-log-slower-than 1 阅读全文
posted @ 2018-01-28 08:43 小不点啊 阅读(2772) 评论(0) 推荐(0) 编辑
摘要:一、redis键管理 1 键重命名 rename oldKey newkey //格式rename oldKey newKey //若oldKey之前存在则被覆盖set name james ;set name1 mike //数据初始化renamenx name name1 //重命名失败,只有当 阅读全文
posted @ 2018-01-28 00:08 小不点啊 阅读(2792) 评论(0) 推荐(0) 编辑
摘要:一、字符串<String> 1. 字符串类型:实际上可以是字符串(包括XML JSON),还有数字(整形 浮点数),二进制(图片 音频 视频),最大不能超过512MB 2. 设值命令: set name lgs ex 10 //10秒后过期 px 10000 毫秒过期 setnx name lgs 阅读全文
posted @ 2018-01-25 00:53 小不点啊 阅读(7236) 评论(0) 推荐(1) 编辑
摘要:全局命令 keys * 查看所有键 dbsize 查看的是当前所在redis数据库的键总数 如果存在大量键,线上禁止使用此指令 exists key 检查键是否存在,存在返回1,不存在返回0 del key 删除键,返回删除键个数,删除不存在键返回0 expire key seconds 设置键过期 阅读全文
posted @ 2018-01-24 23:44 小不点啊 阅读(1467) 评论(0) 推荐(0) 编辑
摘要:一、什么是redis、redis有哪些特性、redis有哪些应用场景、redis的版本 1. 什么是redis redis是一种基于键值对(key-value)数据库,其中value可以为string、hash、list、set、zset等多种数据结构,可以满足很多应用场景。还提供了键过期,发布订阅 阅读全文
posted @ 2018-01-24 23:05 小不点啊 阅读(1503) 评论(0) 推荐(1) 编辑
摘要:环境:VM+centos6+xshell 1.准备好linux的虚拟机,这里用的是centos6,具体方法百度 2.进入software目录,创建一个redis的目录来存放下载的redis包 cd software,mkdir redis 3.进入redis目录,cd redis 4.下载redis 阅读全文
posted @ 2018-01-22 23:30 小不点啊 阅读(1325) 评论(0) 推荐(0) 编辑
摘要:什么是AbstractQueuedSynchronizer?为什么我们要分析它? AbstractQueuedSynchronizer(AQS):抽象队列同步器 抽象队列同步器原理:当多个线程去获取锁的时候,如果获取锁失败了,获取锁失败的当前线程就会被打包成一个node节点放入同步队列里面使用Loc 阅读全文
posted @ 2018-01-21 11:31 小不点啊 阅读(644) 评论(0) 推荐(0) 编辑
摘要:有了synchronized为什么还要Lock? 因为Lock和synchronized比较有如下优点,这些特点是synchronized没有的 1、 尝试非阻塞地获取锁 2、 获取锁的过程可以被中断 3、 超时获取锁 多长时间拿不到锁就放弃 Lock的使用范式: 1 package com.lgs 阅读全文
posted @ 2018-01-08 21:05 小不点啊 阅读(1006) 评论(0) 推荐(0) 编辑
摘要:什么是原子操作 不可被中断的一个或者一系列操作 count++并不是一个原子操作,存在从内存读count,然后把count+1,再把加1后的值刷回内存三个操作步骤 实现原子操作的方式 Java可以通过锁和循环CAS的方式实现原子操作 循环CAS:在一个(死)循环【for(;;)】里不断进行CAS操作 阅读全文
posted @ 2018-01-07 11:50 小不点啊 阅读(823) 评论(0) 推荐(0) 编辑
摘要:概念 多线程的用途:多线程一般用来处理高并发 什么叫高并发:通过设计保证系统能够并行处理很多请求 高并发关注的指标: 响应时间:用户能够快速拿到响应结果 吞吐量:单位时间内处理多少个请求 每秒查询率 并发用户数 什么是线程:运行程序会创建一个进程。进程里面包含多个线程,操作系统(OS)调度的最小单元 阅读全文
posted @ 2018-01-06 12:16 小不点啊 阅读(1112) 评论(0) 推荐(0) 编辑