数据库
文章平均质量分 56
I can丶
这个作者很懒,什么都没留下…
展开
-
InnoDB文件系统
文章目录InnoDB文件系统1 参数文件2 日志文件3 套接字文件4 pid文件5 表结构定义文件6 InnoDB存储引擎文件6.1 表空间文件6.2 重做日志文件InnoDB文件系统参数文件:包括初始化参数,某种内存结构的大小等日志文件:用来记录MySQL实例对某种条件做出响应式写入的文件socket文件:当用UNIX套接字方式进行连接时需要的文件pid文件:MySQL实例的进程ID文件MySQL表结构文件:存放MySQL表结构定义文件存储引擎文件:每隔存储引擎都有自己的文件来保存各种数据原创 2021-05-30 22:55:24 · 132 阅读 · 0 评论 -
InnoDB存储引擎
文章目录1 MySQL体系结构2 InnoDB存储引擎概述3 InnoDB体系架构3.1 后台线程3.2 内存4 Checkpoint5 Master Thread6 InnoDB关键特性6.1 插入缓冲6.2 两次写6.3 自适应哈希索引6.4 异步IO6.5 刷新邻接页7 InnoDB关闭1 MySQL体系结构数据库:文件的集合,是依照某种数据模型存放于存储器中的数据集合数据库实例:程序,是位于用户和操作系统之间的数据管理软件,用户对数据库数据的任何操作都是通过实例进行的MySQL体系结构原创 2021-05-30 22:54:11 · 248 阅读 · 2 评论 -
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 阅读 · 0 评论 -
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 · 330 阅读 · 0 评论 -
Redis基础(十一)——缓存穿透和缓存雪崩
文章目录缓存穿透和缓存雪崩1 缓存穿透2 缓存雪崩缓存穿透和缓存雪崩1 缓存穿透大量请求的key不存在于缓存中,导致请求直接到了数据库解决方案数据校验,在接收到请求时判断请求格式是否合法缓存无效key,只要无效的攻击key不变,就可以从缓存中直接返回布隆过滤器,通过的key再进行缓存-数据库的查询2 缓存雪崩同一时间中,大面积的缓存到期,导致后面的请求都直接落到了数据库上解决方案如果是Redis服务不可用的情况,可以使用Redis集群避免单机出现问题设置不同的失效时间,或者永不原创 2021-04-16 20:21:32 · 95 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Redis基础(九)——发布与订阅
文章目录发布与订阅发布与订阅通过执行SUBSCRIBE命令,客户端可以订阅一个或多个频道,当其他客户端向频道发送消息时,订阅者或者匹配频道的订阅者都会收到消息原理订阅:当客户端执行SUBSCRIBE命令时,服务器会将客户端与pubsub_channels字典关联,如果当前频道没有订阅者,则在字典中创建一个当前频道的键,值设置为空链表,客户端添加到链表;如果当前频道有订阅者,则将客户端添加到对应的键的链表末尾退订:当客户端执行UNSUBSCRIBE命令时,与SUBSCRIBE命令操作相反//原创 2021-04-16 20:16:28 · 70 阅读 · 0 评论 -
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 · 103 阅读 · 0 评论 -
Redis基础(七)——事件、服务器、客户端、多线程
文章目录事件、服务器、客户端、多线程1 文件事件2 时间事件3 客户端4 服务器5 多线程事件、服务器、客户端、多线程Redis基于Reactor模式开发了一套高效的事件处理模型,通过IO多路复用程序监听来自客户端的大量连接Redis服务器是一个事件驱动程序,分为文件事件和时间事件1 文件事件服务器对套接字的操作称为文件事件,当被监听的套接字准备好执行连接应答、读取、写入、关闭等操作时,与操作相对应的文件事件就会产生,文件事件分派器会调用关联的事件处理器来处理事件文件事件处理器使用IO多路复用原创 2021-04-14 23:32:26 · 140 阅读 · 0 评论 -
Redis基础(六)——事务
文章目录事务事务将多个命令请求打包,一次性、按顺序地执行,并且执行期间,服务器不会中断事务去执行其他命令客户端发送MULTI、EXEC、DISCARD、WATCH命令,服务器立即执行开启事务后,客户端发送其他命令,则将命令放入一个事务队列中如果事务中包含的命令有语法错误,所有命令不执行如果事务中包含的命令格式正确,但是无法正确执行,能够运行正确的命令,错误命令不执行// 开启事务,后面提交的命令都加入队列中multi// 取消事务,发生在multi之后,exec之前discard/原创 2021-04-14 23:31:04 · 89 阅读 · 0 评论 -
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 · 154 阅读 · 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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 90 阅读 · 0 评论 -
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 阅读 · 0 评论