数据库
文章平均质量分 69
Shaeyln Ma
记录自己的成长
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据库系列-企业级解决方案
一、缓存预热 为什么要进行缓存预热? 缓存预热就是系统启动前,提前将相关的缓存数据直接加载到缓存系统。避免在用户请求的时候,先查询数据库,然后再将数据缓存的问题!用户直接查询事先被预热的缓存数据! 怎么做? 前置准备工作: 日常例行统计数据访问记录,统计访问频度较高的热点数据 利用LRU数据删除策略,构建数据留存队列 例如:storm与kafka配合 准备工作: 将统计结果中的数据分类,根据级别,redis优先加载级别较高的热点数据 利用分布式多服务器同时进行数据读取,提速数据加载过程 热点数据主从同时预原创 2021-02-25 15:31:57 · 238 阅读 · 0 评论 -
数据库系列-Redis集群
一、主从复制 多台服务器的连接方案 读写分离: 数据提供方master(主服务器、主节点、主库)负责写,写的时候自动同步到slave中 数据接收方slave(从服务器,从节点,从库)负责读 二者是相对的概念,核心工作就是master的数据复制到slave中 主从复制 主从复制即将master中的数据即时、有效的复制到slave中 特征:一个master可以拥有多个slave,一个slave只对应一个master 作用 读写分离:master写、slave读,提高服务器的读写负载能力 负载均衡:基于主从结构原创 2021-02-25 14:42:51 · 236 阅读 · 0 评论 -
数据库系列-Redis高级数据类型
Bitmaps 基础操作 getbit key offset// 获取指定key对应偏移量上的bit值 setbit key offset value//设置指定key对应偏移量上的bit值,value只能是1或0 扩展操作 bitop op destKey key1 [key2...]//对指定key按位进行交、并、非、异或操作,并将结果保存到destKey中 bitcount key [start end]//统计指定key中1的数量 HaperLogLog HyperLogLog 是用来原创 2021-02-24 15:37:55 · 204 阅读 · 0 评论 -
数据库系列-Redis删除策略
时效性数据存储结构 Redis中的数据,在expire中以哈希的方式保存在其中。其value是数据在内存中的地址,filed是对应的生命周期 数据删除策略的目标 在内存占用与CPU占用之间寻找一种平衡,顾此失彼都会造成整体redis性能的下降,甚至引发服务器宕机或内存泄露 数据删除策略 定时删除 创建一个定时器,当key设置有过期时间,且过期时间到达时,由定时器任务立即执行对键的删除操作 优点:节约内存,到时就删除,快速释放掉不必要的内存占用 缺点:CPU压力很大,无论CPU此时负载量多高,均占用CPU原创 2021-02-24 14:45:47 · 302 阅读 · 0 评论 -
数据库系列-Redis事务
什么是Redis事务 redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体(一个队列)。当执行时,一次性按照添加顺序依次执行,中间不会被打断或者干扰。 一个队列中,一次性、顺序性、排他性的执行一系列命令 事务的基本操作 开启事务 multi:设定事务的开启位置,此指令执行后,后续的所有指令均加入到事务中,使用 multi命令后可以输入多个命令 执行事务 exec:设定事务的结束位置,同时执行事务。与multi成对出现,成对使用 (加入事务的命令暂时进入到任务队列中,并没有立即执行,只有原创 2021-02-24 10:26:22 · 165 阅读 · 0 评论 -
数据库系列-Redis持久化
什么是持久化 利用永久性存储介质将数据进行保存,在特定的时间将保存的数据进行恢复的工作机制称为持久化。以此来防止数据的意外丢失,确保数据安全性。 持久化过程保存的是什么 RDB(snapshotting快照) (1)简介:将当前数据状态进行保存,快照形式,存储数据结果,存储格式简单,关注点在数据,是 Redis 默认采用的持久化方式 (2)启动方式: 【1】save:手动执行一次保存操作,save指令的执行会阻塞当前Redis服务器,直到当前RDB过程完成为止,有可能会造成长时间阻塞,线上环境不建议使用原创 2021-02-23 21:34:41 · 175 阅读 · 0 评论 -
数据库系列-Jedis
Jedis是什么 Java语言连接redis服务进行数据交换原创 2021-02-23 18:50:02 · 136 阅读 · 0 评论 -
数据库系列-Redis通用指令
key通用指令 key是一个字符串,通过key获取redis保存的数据 key常用操作 del key exists key type key expire key seconds 有效期控制 pexpire key milliseconds ttl key 获取有效期 pttl key keys pattern 查询 (* 匹配任意符号; ?匹配一个任意符号; [ ]匹配一个是定符号) rename key newkey 改名 sort key 对所有key排序 数据库通用操作 select原创 2021-02-18 18:46:37 · 121 阅读 · 0 评论 -
数据库系列-Redis简介
Redis Redis是一种高性能的非关系型的键值对数据库。 Redis特征 数据间没有必然联系 单线程的工作机制 高性能 支持多种数据类型:string、list、hash、set、sorted-set 常用数据类型 数据存储格式:自身是map,采用key:value存储数据 string (1)存储: 存储单个数据,一个空间保存一个数据,常用存储字符串 (2)基本操作: set key value[mset key1 value1 (key2 value2…)] get key [mget k原创 2021-02-18 15:44:58 · 328 阅读 · 0 评论 -
数据库系列-查询性能优化
一、为什么要优化查询性能 1、因为每一个查询指令都是一个子任务,执行每个子任务都需要花费时间,优化查询的目的就是减少子任务的数量或者让子任务运行更快 2、查询的生命周期 从客户端到服务器,在服务器上解析,生成执行计划,然后执行,返回结果到客户端,其中执行是最重要的阶段 二、优化数据访问 查询慢的原因 1)数据库请求了不需要的数据:查询不需要的记录、多表关联时返回全部列、总是取出全部列 2)MySQL扫描额外的记录 理想情况下扫描的行数和返回的行数应该相同 一般MySQL能用以下三种方式应用WHERE条原创 2021-01-26 18:42:15 · 810 阅读 · 0 评论 -
数据库系列-Schema与数据类型优化
一、选择优化的数据类型 数据类型选择的原则 尽量使用可以正确存储数据的最小数据类型 简单就好 尽量避免null,可用null的列需要更多的存储空间 数据类型 ○ 整型: TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT 分别使用 8, 16, 24, 32, 64 位存储空间,一般情况下越小的列越好。 INT(11) 中的数字只是规定了交互工具显示字符的个数,对于存储和计算来说是没有意义的。 ○ 浮点数 FLOAT 和 DOUBLE 为浮点类型,DECIMAL 为高精度小原创 2021-01-25 10:56:23 · 189 阅读 · 0 评论
分享